aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2012-01-23 21:33:34 +0100
committerReinhard Tartler <siretart@tauware.de>2012-10-14 16:03:24 -0400
commit3efe6becc79b8087ea517b12380f34b702db1cc5 (patch)
treefcb6ec7597326ac82d46e14cdb14db5bc43a9dd4
parentdc8371b2b12f4fc992623dd46fa47c81cbe21575 (diff)
downloadffmpeg-3efe6becc79b8087ea517b12380f34b702db1cc5.tar.gz
indeo5: prevent null pointer dereference on broken files
Found by John Villamil <johnv@matasano.com> (cherry picked from commit 366ac22ea5a8bab63c7f46cdad2ddb2ff22cdbed) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r--libavcodec/indeo5.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/indeo5.c b/libavcodec/indeo5.c
index 60f0eeea1c..a8ff228bcd 100644
--- a/libavcodec/indeo5.c
+++ b/libavcodec/indeo5.c
@@ -426,6 +426,10 @@ static int decode_mb_info(IVI45DecContext *ctx, IVIBandDesc *band,
ref_mb = tile->ref_mbs;
offs = tile->ypos * band->pitch + tile->xpos;
+ if (!ref_mb &&
+ ((band->qdelta_present && band->inherit_qdelta) || band->inherit_mv))
+ return AVERROR_INVALIDDATA;
+
/* scale factor for motion vectors */
mv_scale = (ctx->planes[0].bands[0].mb_size >> 3) - (band->mb_size >> 3);
mv_x = mv_y = 0;