h264: Fix null pointer dereference with disabled error concealment
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 24 Jun 2013 14:05:19 +0000 (16:05 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 24 Jun 2013 14:05:19 +0000 (16:05 +0200)
Fixes Ticket2551

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264.c

index bb105ee..edd34ae 100644 (file)
@@ -4287,7 +4287,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
                     avctx->codec_id != AV_CODEC_ID_H264 ||
                     (CONFIG_GRAY && (h->flags & CODEC_FLAG_GRAY));
 
-    if (!(h->avctx->active_thread_type & FF_THREAD_SLICE) && h->picture_structure == PICT_FRAME) {
+    if (!(h->avctx->active_thread_type & FF_THREAD_SLICE) && h->picture_structure == PICT_FRAME && h->er.error_status_table) {
         const int start_i  = av_clip(h->resync_mb_x + h->resync_mb_y * h->mb_width, 0, h->mb_num - 1);
         if (start_i) {
             int prev_status = h->er.error_status_table[h->er.mb_index2xy[start_i - 1]];