avcodec/ffv1dec: Check for 0 quant tables
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 4 Nov 2015 23:36:59 +0000 (00:36 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 5 Nov 2015 00:31:52 +0000 (01:31 +0100)
Fixes assertion failure
Fixes: 07ec1fc3c1cbf2d3edcd7d9b52ca156c/asan_heap-oob_13624c5_491_ecd4720a03e697ba750b235690656c8f.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/ffv1dec.c

index d9e1e73..367d8c7 100644 (file)
@@ -569,7 +569,7 @@ static int read_extra_header(FFV1Context *f)
     }
 
     f->quant_table_count = get_symbol(c, state, 0);
-    if (f->quant_table_count > (unsigned)MAX_QUANT_TABLES)
+    if (f->quant_table_count > (unsigned)MAX_QUANT_TABLES || !f->quant_table_count)
         return AVERROR_INVALIDDATA;
 
     for (i = 0; i < f->quant_table_count; i++) {