lavc/anm: fix mem leak in case of init failure
authorLukasz Marek <lukasz.m.luki2@gmail.com>
Sat, 22 Nov 2014 21:41:35 +0000 (22:41 +0100)
committerLukasz Marek <lukasz.m.luki2@gmail.com>
Sun, 23 Nov 2014 02:25:25 +0000 (03:25 +0100)
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
libavcodec/anm.c

index 79a87dd..3727534 100644 (file)
@@ -47,8 +47,10 @@ static av_cold int decode_init(AVCodecContext *avctx)
         return AVERROR(ENOMEM);
 
     bytestream2_init(&s->gb, avctx->extradata, avctx->extradata_size);
-    if (bytestream2_get_bytes_left(&s->gb) < 16 * 8 + 4 * 256)
+    if (bytestream2_get_bytes_left(&s->gb) < 16 * 8 + 4 * 256) {
+        av_frame_free(&s->frame);
         return AVERROR_INVALIDDATA;
+    }
 
     bytestream2_skipu(&s->gb, 16 * 8);
     for (i = 0; i < 256; i++)