prevent going out of the buffer if the nal size does not fit in the buffer.
authorMean <fixounet@free.fr>
Sun, 29 Apr 2007 23:18:39 +0000 (23:18 +0000)
committerGuillaume Poirier <gpoirier@mplayerhq.hu>
Sun, 29 Apr 2007 23:18:39 +0000 (23:18 +0000)
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

Originally committed as revision 8858 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264.c

index b5bd0a8..40dbb96 100644 (file)
@@ -8122,7 +8122,7 @@ static int decode_nal_units(H264Context *h, 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_size){
+        if(nalsize <= 1 || (nalsize+buf_index > buf_size)){
             if(nalsize == 1){
                 buf_index++;
                 continue;