Check unp_size for possible overflows too

Originally committed as revision 10490 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Kostya Shishkov 2007-09-14 06:01:29 +00:00
parent 208506e2a6
commit f0dd9d4505
1 changed files with 1 additions and 1 deletions

View File

@ -590,7 +590,7 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
} }
stereo = get_bits1(&gb); stereo = get_bits1(&gb);
bits = get_bits1(&gb); bits = get_bits1(&gb);
if ((unp_size << !bits) > *data_size) { if (unp_size & 0xC0000000 || (unp_size << !bits) > *data_size) {
av_log(avctx, AV_LOG_ERROR, "Frame is too large to fit in buffer\n"); av_log(avctx, AV_LOG_ERROR, "Frame is too large to fit in buffer\n");
return -1; return -1;
} }