[libav-commits] indeo5: prevent null pointer dereference on broken files

Message ID 20120125133243.896E85DEC5@aruru.libav.org
State New
Headers show

Commit Message

Janne Grunau Jan. 25, 2012, 1:32 p.m.
Module: libav
Branch: master
Commit: 366ac22ea5a8bab63c7f46cdad2ddb2ff22cdbed

Author:    Janne Grunau <janne-libav@jannau.net>
Committer: Janne Grunau <janne-libav@jannau.net>
Date:      Mon Jan 23 21:33:34 2012 +0100

indeo5: prevent null pointer dereference on broken files

Found by John Villamil <johnv@matasano.com>

---

 libavcodec/indeo5.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

Patch

diff --git a/libavcodec/indeo5.c b/libavcodec/indeo5.c
index 019fa2b..5263251 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;