On 20/05/15 16:35, Andreas Cadhalpun wrote:
> 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 <[email protected]>
>>> ---
>>>  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.
> 

I think the idea is to embed in get_str the eof check and check its
result then.

lu

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to