diff options
author | Janne Grunau <janne-libav@jannau.net> | 2012-01-23 21:33:34 +0100 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2012-01-25 14:31:57 +0100 |
commit | 366ac22ea5a8bab63c7f46cdad2ddb2ff22cdbed (patch) | |
tree | 65fbfcff9b26e490e6791d74b2030c49d2305af2 | |
parent | 7072a6a4bb058a906076d0813ec46595bc2a9a09 (diff) | |
download | ffmpeg-366ac22ea5a8bab63c7f46cdad2ddb2ff22cdbed.tar.gz |
indeo5: prevent null pointer dereference on broken files
Found by John Villamil <johnv@matasano.com>
-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 019fa2b8da..5263251f8d 100644 --- a/libavcodec/indeo5.c +++ b/libavcodec/indeo5.c @@ -453,6 +453,10 @@ static int decode_mb_info(IVI5DecContext *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; |