comparison smacker.c @ 5676:71dc0d839b28 libavcodec

Check unp_size for possible overflows too
author kostya
date Fri, 14 Sep 2007 06:01:29 +0000
parents ca944f1db2b3
children 743c1ef20291
comparison
equal deleted inserted replaced
5675:d328f1731a6c 5676:71dc0d839b28
588 *data_size = 0; 588 *data_size = 0;
589 return 1; 589 return 1;
590 } 590 }
591 stereo = get_bits1(&gb); 591 stereo = get_bits1(&gb);
592 bits = get_bits1(&gb); 592 bits = get_bits1(&gb);
593 if ((unp_size << !bits) > *data_size) { 593 if (unp_size & 0xC0000000 || (unp_size << !bits) > *data_size) {
594 av_log(avctx, AV_LOG_ERROR, "Frame is too large to fit in buffer\n"); 594 av_log(avctx, AV_LOG_ERROR, "Frame is too large to fit in buffer\n");
595 return -1; 595 return -1;
596 } 596 }
597 597
598 memset(vlc, 0, sizeof(VLC) * 4); 598 memset(vlc, 0, sizeof(VLC) * 4);