aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Aimar <fenrir@videolan.org>2011-09-11 18:54:01 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-11-03 03:33:35 +0100
commitb261ebfd220b05854d0a0cccde30eddb7a7e23dd (patch)
tree05996070fa819d26cc9246236ff53a1e9137d9fb
parent03db051b43a3f7e703a03018be72bc6fdd272641 (diff)
downloadffmpeg-b261ebfd220b05854d0a0cccde30eddb7a7e23dd.tar.gz
Fixed segfaults on corruped smacker streams in the decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit d07ac1853da29ea696243160e02154ebf758d1ee)
-rw-r--r--libavcodec/smacker.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
index 716b63fc6f..f790e08214 100644
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@ -660,6 +660,8 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
} else { //8-bit data
for(i = stereo; i >= 0; i--)
pred[i] = get_bits(&gb, 8);
+ if (stereo + unp_size > data_size)
+ return -1;
for(i = 0; i < stereo; i++)
*samples++ = (pred[i] - 0x80) << 8;
for(i = 0; i < unp_size; i++) {