diff --git a/libavformat/wc3movie.c b/libavformat/wc3movie.c index 27f5eb1962..6577007777 100644 --- a/libavformat/wc3movie.c +++ b/libavformat/wc3movie.c @@ -130,8 +130,10 @@ static int wc3_read_header(AVFormatContext *s) buffer = av_malloc(size+1); if (!buffer) return AVERROR(ENOMEM); - if ((ret = avio_read(pb, buffer, size)) != size) + if ((ret = avio_read(pb, buffer, size)) != size) { + av_freep(&buffer); return AVERROR(EIO); + } buffer[size] = 0; av_dict_set(&s->metadata, "title", buffer, AV_DICT_DONT_STRDUP_VAL);