indeo: Reject impossible FRAMETYPE_NULL
authorLuca Barbato <lu_zero@gentoo.org>
Sun, 14 Jul 2013 16:16:56 +0000 (18:16 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Mon, 15 Jul 2013 09:46:50 +0000 (11:46 +0200)
A frame marked FRAMETYPE_NULL cannot be scalable and requires a
previous frame successfully decoded.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libavcodec/ivi_common.c

index de9ad55..25ca6b7 100644 (file)
@@ -958,6 +958,14 @@ int ff_ivi_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
                 }
             }
         }
+    } else {
+        if (ctx->is_scalable)
+            return AVERROR_INVALIDDATA;
+
+        for (p = 0; p < 3; p++) {
+            if (!ctx->planes[p].bands[0].buf)
+                return AVERROR_INVALIDDATA;
+        }
     }
 
     //STOP_TIMER("decode_planes"); }