On Fri, Aug 30, 2019 at 08:57:29PM -0300, James Almer wrote:
> On 8/30/2019 8:25 PM, Michael Niedermayer wrote:
> > Fixes: Timeout (195sec -> 2ms)
> > Fixes: 
> > 16735/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5090676403863552
> > 
> > Found-by: continuous fuzzing process 
> > https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
> > ---
> >  libavformat/mov.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index 675b915906..46c544b61f 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -4419,7 +4419,10 @@ static int mov_read_custom(MOVContext *c, 
> > AVIOContext *pb, MOVAtom atom)
> >  static int mov_read_meta(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> >  {
> >      while (atom.size > 8) {
> > -        uint32_t tag = avio_rl32(pb);
> > +        uint32_t tag;
> > +        if (avio_feof(pb))
> > +            return AVERROR_EOF;
> > +        tag = avio_rl32(pb);
> >          atom.size -= 4;
> >          if (tag == MKTAG('h','d','l','r')) {
> >              avio_seek(pb, -8, SEEK_CUR);
> 
> Maybe do something like "while (atom.size > 8 && !avio_feof(pb))"
> instead, which is similar to the loop in mov_read_default.

Can do but why ?
the code in the patch returns an error if the atom is truncated
the change suggested does not return an error if the atom is truncated
on its own this doesnt sound better

Thanks


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The bravest are surely those who have the clearest vision
of what is before them, glory and danger alike, and yet
notwithstanding go out to meet it. -- Thucydides

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to