On Tue, Jun 30, 2015 at 5:19 AM, Luca Barbato <[email protected]> wrote:
> On 30/06/15 11:35, Alexandra Hájková wrote:
>> ---
>>  libavformat/asfdec.c | 12 ++++++++++--
>>  1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
>> index 8f46098..cf0b3a5 100644
>> --- a/libavformat/asfdec.c
>> +++ b/libavformat/asfdec.c
>> @@ -904,7 +904,7 @@ static int asf_read_data(AVFormatContext *s, const 
>> GUIDParseTable *g)
>>      uint64_t size   = asf->data_size = avio_rl64(pb);
>>      int i;
>>
>> -    if (!asf->data_reached && pb->seekable) {
>> +    if (!asf->data_reached) {
>>          asf->data_reached       = 1;
>>          asf->data_offset        = asf->offset;
>>      }
>> @@ -1660,7 +1660,15 @@ static int asf_read_header(AVFormatContext *s)
>>                  return ret;
>>          } else {
>>              size = avio_rl64(pb);
>> -            align_position(pb, asf->offset, size);
>> +            if (size < INT64_MAX)
>> +                align_position(pb, asf->offset, size);
>> +            else {
>> +                if (asf->data_reached) {
>> +                    avio_seek(pb, asf->first_packet_offset, SEEK_SET);
>> +                    break;
>> +                } else
>> +                    return AVERROR_INVALIDDATA;
>> +            }
>>          }
>>          if (asf->data_reached && !pb->seekable)
>>              break;
>>
>
> Seems quite ok. I'd fix the subject with the missing n in handle and
> push later.

What happened to this patch? Is it still needed?
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to