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++) {