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

Signed-off-by: Michael Niedermayer <mich...@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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to