[FFmpeg-devel] [PATCH 2/2] avcodec/utils: Check that the video data[] arrays are NULL on the input to get_buffer_internal()

Michael Niedermayer michael at niedermayer.cc
Fri Feb 26 12:59:08 CET 2016


This should return an error to the decoder if the struct it tried to getbuffer is dirty

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavcodec/utils.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index f8dee50..c7798e6 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -871,6 +871,11 @@ static int get_buffer_internal(AVCodecContext *avctx, AVFrame *frame, int flags)
             frame->height = FFMAX(avctx->height, AV_CEIL_RSHIFT(avctx->coded_height, avctx->lowres));
             override_dimensions = 0;
         }
+
+        if (frame->data[0] || frame->data[1] || frame->data[2] || frame->data[3]) {
+            av_log(avctx, AV_LOG_ERROR, "pic->data[*]!=NULL in get_buffer_internal\n");
+            return AVERROR(EINVAL);
+        }
     }
     ret = ff_decode_frame_props(avctx, frame);
     if (ret < 0)
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list