diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-06-01 21:42:29 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-06-09 21:40:36 +0200 |
commit | 48ef11663164b5e7221089a813e733dc7a0776b3 (patch) | |
tree | 15447f3d99160b46e02dea28b2be8265209b1749 /libavcodec | |
parent | cc511b36f35400bc13f3987da374462f7c20c6c5 (diff) | |
download | ffmpeg-48ef11663164b5e7221089a813e733dc7a0776b3.tar.gz |
wmv1: check that the input buffer is large enough
Fixes null ptr deref
Fixes Ticket1367
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f23a2418fb0ccc56fdae4dbf83a5994cc917c475)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/wnv1.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c index 7c0105f1ef..aa284da22f 100644 --- a/libavcodec/wnv1.c +++ b/libavcodec/wnv1.c @@ -67,6 +67,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"); |