[FFmpeg-devel] [PATCH] vp9: avoid infinite loop with broken files

wm4 nfxjfg at googlemail.com
Sat Jan 10 18:15:11 CET 2015


On Sat, 10 Jan 2015 18:03:48 +0100
Hendrik Leppkes <h.leppkes at gmail.com> wrote:

> On Sat, Jan 10, 2015 at 6:00 PM, wm4 <nfxjfg at googlemail.com> wrote:
> 
> > With a certain fuzzed file, the parser will always return 0 consumed
> > bytes, which makes calling code call the parser infinitely. Return the
> > full packet size on error instead. (Here it would be nice if parsers
> > could return errors at all.)
> >
> > Additionally, _if_ there's some data left, return that too, which might
> > help with somewhat broken but still somehow playable files.
> >
> > Fixes ticket #4242.
> > ---
> > There might be a more elegant way to fix this.
> > Also, not sure if the change *out_size has any worth.
> >
> 
> Signaling the out_size would mean it should forward the data to the
> decoder, if it remains 0 the data is just swallowed. What would make more
> sense in this case?

I'd argue that it's normal for ffmpeg to play something even if the
data has been pushed through a blender, so if there's a trivial choice
between swallowing and returning the data, the latter should be picked.
But actually, it probably doesn't matter.


More information about the ffmpeg-devel mailing list