comparison h264.c @ 4886:7eba8b456a3f libavcodec

prevent going out of the buffer if the nal size does not fit in the buffer. Patch by Mean % fixounet A free P fr % Original thread: Date: Apr 29, 2007 2:00 PM Subject: Re: [Ffmpeg-devel] [patch] h264.c, dont go beyond buffer in h264_decode_nal_unit
author gpoirier
date Sun, 29 Apr 2007 23:18:39 +0000
parents 8131ccb4ea72
children b1fd0281c139
comparison
equal deleted inserted replaced
4885:4f351b1e02bc 4886:7eba8b456a3f
8120 if(h->is_avc) { 8120 if(h->is_avc) {
8121 if(buf_index >= buf_size) break; 8121 if(buf_index >= buf_size) break;
8122 nalsize = 0; 8122 nalsize = 0;
8123 for(i = 0; i < h->nal_length_size; i++) 8123 for(i = 0; i < h->nal_length_size; i++)
8124 nalsize = (nalsize << 8) | buf[buf_index++]; 8124 nalsize = (nalsize << 8) | buf[buf_index++];
8125 if(nalsize <= 1 || nalsize > buf_size){ 8125 if(nalsize <= 1 || (nalsize+buf_index > buf_size)){
8126 if(nalsize == 1){ 8126 if(nalsize == 1){
8127 buf_index++; 8127 buf_index++;
8128 continue; 8128 continue;
8129 }else{ 8129 }else{
8130 av_log(h->s.avctx, AV_LOG_ERROR, "AVC: nal size %d\n", nalsize); 8130 av_log(h->s.avctx, AV_LOG_ERROR, "AVC: nal size %d\n", nalsize);