diff options
author | Janne Grunau <janne-libav@jannau.net> | 2012-01-23 21:33:34 +0100 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2012-10-14 16:03:24 -0400 |
commit | 3efe6becc79b8087ea517b12380f34b702db1cc5 (patch) | |
tree | fcb6ec7597326ac82d46e14cdb14db5bc43a9dd4 | |
parent | dc8371b2b12f4fc992623dd46fa47c81cbe21575 (diff) | |
download | ffmpeg-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.c | 4 |
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; |