Mercurial > libavcodec.hg
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); |