[FFmpeg-cvslog] diracdec: Fix FPE on invalid low_delay data

Kieran Kunhya git at videolan.org
Thu Dec 10 23:14:22 CET 2015


ffmpeg | branch: master | Kieran Kunhya <kierank at ob-encoder.com> | Wed Dec  9 00:56:02 2015 +0000| [3652dd5d0ceef6281d86fbd68aa7b5552f59bb1f] | committer: Rostislav Pehlivanov

diracdec: Fix FPE on invalid low_delay data

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

 libavcodec/diracdec.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index 2d076a5..6e5fe9f 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -2002,6 +2002,11 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int
         if (s->version.minor == 2 && parse_code == 0x88)
             s->ld_picture = 1;
 
+        if (s->low_delay && !(s->ld_picture || s->hq_picture) ) {
+            av_log(avctx, AV_LOG_ERROR, "Invalid low delay flag\n");
+            return AVERROR_INVALIDDATA;
+        }
+
         if ((ret = get_buffer_with_edge(avctx, pic->avframe, (parse_code & 0x0C) == 0x0C ? AV_GET_BUFFER_FLAG_REF : 0)) < 0)
             return ret;
         s->current_picture = pic;



More information about the ffmpeg-cvslog mailing list