diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-05-13 00:41:38 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-06-01 23:25:20 +0200 |
commit | 96de4bbf38c29e35c7175fc2d23fc9aa1bec8952 (patch) | |
tree | 8cb4ef6f96c9e536656d013647e8f53ac9d8cdcb /libavcodec | |
parent | de648a11d8688ff4b0d02cf7e78bea870a5ea903 (diff) | |
download | ffmpeg-96de4bbf38c29e35c7175fc2d23fc9aa1bec8952.tar.gz |
avcodec/vqavideo: Check chunk size
Fixes CID1239154
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8a62b80ce6c8e87e7937f9a5d68f83882c1c8da2)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/vqavideo.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/vqavideo.c b/libavcodec/vqavideo.c index 4dcebd4849..bf55571fe9 100644 --- a/libavcodec/vqavideo.c +++ b/libavcodec/vqavideo.c @@ -231,6 +231,12 @@ static int decode_format80(VqaContext *s, int src_size, unsigned char color; int i; + if (src_size < 0 || src_size > bytestream2_get_bytes_left(&s->gb)) { + av_log(s->avctx, AV_LOG_ERROR, "Chunk size %d is out of range\n", + src_size); + return AVERROR_INVALIDDATA; + } + start = bytestream2_tell(&s->gb); while (bytestream2_tell(&s->gb) - start < src_size) { opcode = bytestream2_get_byte(&s->gb); |