Fix nalsize check to avoid an integer overflow that made the check

incorrect for nalsize > INT_MAX - buf_index

Originally committed as revision 19307 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Reimar Döffinger 16 years ago
parent 0444a8c534
commit 8d8409ca9f
  1. 2
      libavcodec/h264.c

@ -7505,7 +7505,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
nalsize = 0;
for(i = 0; i < h->nal_length_size; i++)
nalsize = (nalsize << 8) | buf[buf_index++];
if(nalsize <= 1 || (nalsize+buf_index > buf_size)){
if(nalsize <= 1 || nalsize > buf_size - buf_index){
if(nalsize == 1){
buf_index++;
continue;

Loading…
Cancel
Save