avcodec/h264: Only reinit quant tables if a new PPS is allowed
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2015 19:49:07 +0000 (20:49 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2015 20:21:22 +0000 (21:21 +0100)
Fixes null pointer dereference
Fixes: signal_sigsegv_3042097_3007_cov_1741463594_non_monotone_timestamps1.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264_slice.c

index 54bc7bf..2b8d27f 100644 (file)
@@ -1497,7 +1497,7 @@ int ff_h264_decode_slice_header(H264Context *h, H264Context *h0)
         }
     }
 
-    if (h == h0 && h->dequant_coeff_pps != pps_id) {
+    if (first_slice && h->dequant_coeff_pps != pps_id) {
         h->dequant_coeff_pps = pps_id;
         h264_init_dequant_tables(h);
     }