[FFmpeg-devel] [PATCH] fix issue434

Måns Rullgård mans
Wed Apr 30 10:17:05 CEST 2008


Anssi Hannula <anssi.hannula at gmail.com> writes:

> M?ns Rullg?rd wrote:
>>>>> Michael Niedermayer <michaelni at gmx.at> writes:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> The patch below fixes issue434, i will commit it in 24h unless
>>>>>> mans objects
>>>>>>
>>>>>> Index: libavformat/mpeg.c
>>>>>> ===================================================================
>>>>>> --- libavformat/mpeg.c	(revision 12867)
>>>>>> +++ libavformat/mpeg.c	(working copy)
>>>>>> @@ -341,12 +341,13 @@
>>>>>>          if (flags & 0x01) { /* PES extension */
>>>>>>              pes_ext = get_byte(s->pb);
>>>>>>              header_len--;
>>>>>> -            if (pes_ext & 0x40) { /* pack header - should be zero in PS */
>>>>>> -                goto error_redo;
>>>>>> -            }
>>>>>>              /* Skip PES private data, program packet sequence counter and P-STD buffer */
>>>>>>              skip = (pes_ext >> 4) & 0xb;
>>>>>>              skip += skip & 0x9;
>>>>>> +            if (pes_ext & 0x40 || skip > header_len){
>>>>>> +                av_log(s, AV_LOG_WARNING, "pes_ext %X is invalid\n", pes_ext);
>>>>>> +                pes_ext=skip=0;
>>>>>> +            }
>>>>>>              url_fskip(s->pb, skip);
>>>>>>              header_len -= skip;
> [...]
>> You may apply this if you give me the head of a vdr author on a silver
>> plate first.  There is no excuse for knowingly creating invalid files.
>
> If I am interpreting this correctly, i.e. the issue was PES extension
> flag being wrongly set for every packet, then this was a bug in a 3rd
> party vdr subtitling patch that was fixed in October last year.
>
> The invalid files were thus not created knowingly.

Sloppy patch review then.  Besides, vdr has a long track record of
creating invalid files in a number of ways.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list