[FFmpeg-devel] [PATCH 3/3] nutdec: abort if EOF is reached in decode_info_header/read_sm_data

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Wed May 20 16:35:21 CEST 2015


On 20.05.2015 03:46, Michael Niedermayer wrote:
> On Wed, May 20, 2015 at 12:50:00AM +0200, Andreas Cadhalpun wrote:
>> These loops can take a lot of time if count is very large.
>>
>> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
>> ---
>>  libavformat/nutdec.c | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
>> index e979ee6..ad61d7e 100644
>> --- a/libavformat/nutdec.c
>> +++ b/libavformat/nutdec.c
>> @@ -524,6 +524,10 @@ static int decode_info_header(NUTContext *nut)
>>      }
>>  
>>      for (i = 0; i < count; i++) {
>> +        if (bc->eof_reached) {
>> +            av_log(s, AV_LOG_ERROR, "reached EOF while decoding info header\n");
>> +            return AVERROR_INVALIDDATA;
>> +        }
>>          get_str(bc, name, sizeof(name));
> 
> this could check the return code from get_str()
> which would return failure on EOF already i think
> that would be slightly simpler

No, get_str only fails if len > maxlen, which is not necessarily
the case on EOF.

Best regards,
Andreas



More information about the ffmpeg-devel mailing list