[FFmpeg-cvslog] h264: Fix null pointer dereference with disabled error concealment

Michael Niedermayer git at videolan.org
Mon Jun 24 16:11:55 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Jun 24 16:05:19 2013 +0200| [bbe26eff2235dc2d1c79a5a1e25b46d8d7f0fe08] | committer: Michael Niedermayer

h264: Fix null pointer dereference with disabled error concealment

Fixes Ticket2551

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bbe26eff2235dc2d1c79a5a1e25b46d8d7f0fe08
---

 libavcodec/h264.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index bb105ee..edd34ae 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -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]];



More information about the ffmpeg-cvslog mailing list