[FFmpeg-cvslog] wmv1: check that the input buffer is large enough

Michael Niedermayer git at videolan.org
Sat Jun 9 21:11:47 CEST 2012


ffmpeg | branch: release/0.8 | Michael Niedermayer <michaelni at gmx.at> | Fri Jun  1 21:42:29 2012 +0200| [316589e1db5a563533843994d4a074f3d667958d] | committer: Michael Niedermayer

wmv1: check that the input buffer is large enough

Fixes null ptr deref
Fixes Ticket1367

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit f23a2418fb0ccc56fdae4dbf83a5994cc917c475)

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

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

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

diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c
index 197cf79..4947ea5 100644
--- a/libavcodec/wnv1.c
+++ b/libavcodec/wnv1.c
@@ -70,6 +70,11 @@ static int decode_frame(AVCodecContext *avctx,
     int prev_y = 0, prev_u = 0, prev_v = 0;
     uint8_t *rbuf;
 
+    if(buf_size<=8) {
+        av_log(avctx, AV_LOG_ERROR, "buf_size %d is too small\n", buf_size);
+        return AVERROR_INVALIDDATA;
+    }
+
     rbuf = av_malloc(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
     if(!rbuf){
         av_log(avctx, AV_LOG_ERROR, "Cannot allocate temporary buffer\n");



More information about the ffmpeg-cvslog mailing list