Janne Grunau <janne-li...@jannau.net> writes:

> On Sun, Oct 09, 2011 at 01:07:09PM +0100, Mans Rullgard wrote:
>> Keeping byte values read from the file as unsigned is consistent
>> with how they are subsequently used and avoids an undefined left
>> shift by 24 when bit 7 is set.
>> 
>> Signed-off-by: Mans Rullgard <m...@mansr.com>
>> ---
>>  libavformat/avidec.c |    5 +++--
>>  1 files changed, 3 insertions(+), 2 deletions(-)
>> 
>> diff --git a/libavformat/avidec.c b/libavformat/avidec.c
>> index 8c0ef13..2faf56b 100644
>> --- a/libavformat/avidec.c
>> +++ b/libavformat/avidec.c
>> @@ -843,7 +843,8 @@ static int avi_sync(AVFormatContext *s, int exit_early)
>>  {
>>      AVIContext *avi = s->priv_data;
>>      AVIOContext *pb = s->pb;
>> -    int n, d[8];
>> +    int n;
>> +    unsigned int d[8];
>>      unsigned int size;
>>      int64_t i, sync;
>>  
>> @@ -860,7 +861,7 @@ start_sync:
>>  
>>          n= get_stream_idx(d+2);
>>  //av_log(s, AV_LOG_DEBUG, "%X %X %X %X %X %X %X %X %"PRId64" %d %d\n", 
>> d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], i, size, n);
>> -        if(i + (uint64_t)size > avi->fsize || d[0]<0)
>> +        if(i + (uint64_t)size > avi->fsize || d[0] > 127)
>>              continue;
>>  
>>          //parse ix##
>
> looks reasonable, Alex might want to comment though.
>
> please fix the ugly "memset(d, -1, sizeof(int)*8);" while you're at it

I refuse.  I thought we agreed to have no more "patch ok if you fix
everything else first" reviews.  Holding a fix hostage demanding
additional unrelated things is insane.

-- 
Måns Rullgård
m...@mansr.com
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to