diff --git a/libavformat/libmodplug.c b/libavformat/libmodplug.c index 314bdae3e7..d4f78d99b1 100644 --- a/libavformat/libmodplug.c +++ b/libavformat/libmodplug.c @@ -216,9 +216,10 @@ static int modplug_read_header(AVFormatContext *s) ModPlug_SetSettings(&settings); modplug->f = ModPlug_Load(modplug->buf, sz); - if (!modplug->f) + if (!modplug->f) { + av_freep(&modplug->buf); return AVERROR_INVALIDDATA; - + } st = avformat_new_stream(s, NULL); if (!st) return AVERROR(ENOMEM);