On Mon, Mar 23, 2020 at 05:08:23PM -0700, David Bryant wrote:
> On 3/23/20 9:49 AM, Anton Khirnov wrote:
> > Quoting Michael Niedermayer (2020-03-20 21:50:18)
> >> On Fri, Mar 20, 2020 at 10:18:49AM +0100, Anton Khirnov wrote:
> >>> Quoting Michael Niedermayer (2020-03-20 01:03:36)
> >>>> Fixes: out of array access
> >>>> Fixes: 
> >>>> 21193/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVPACK_fuzzer-5125168956702720
> >>>>
> >>>> Found-by: continuous fuzzing process 
> >>>> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> >>>> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
> >>>> ---
> >>>>  libavcodec/wavpack.c | 1 +
> >>>>  1 file changed, 1 insertion(+)
> >>>>
> >>>> diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
> >>>> index b27262b94e..e9c870e41e 100644
> >>>> --- a/libavcodec/wavpack.c
> >>>> +++ b/libavcodec/wavpack.c
> >>>> @@ -1488,6 +1488,7 @@ static int wavpack_decode_block(AVCodecContext 
> >>>> *avctx, int block_no,
> >>>>  
> >>>>          /* get output buffer */
> >>>>          wc->curr_frame.f->nb_samples = s->samples;
> >>>> +        wc->curr_frame.f->format     = avctx->sample_fmt;
> >>> How does this have any effect? curr_frame.f should now be clean and get
> >>> initialized from avctx->sample_fmt.
> >> IIRC
> >> The format changes between frames, so the struct is still set to the one
> >> from the previous frame and that overrides the use of the avctx value
> >>
> >> setting it to NONE (here or somewhere else) should work too.
> > ff_thread_release_buffer() is called on that frame immediately before,
> > which should reset it to defaults (setting format to FMT_NONE).
> >
> I don't think the format should change between frames, so I don't understand 
> how the format is getting set to a wacky value.

wavpack_decode_frame() sets the format from flags read for each frame. 


> 
> Would it be possible for me the get the triggering test case and try this 
> myself? I searched and couldn't find it, so I assume
> it's not public yet. I assume that just decoding the file should trigger the 
> assertion, right?

sample sent privatly

thanks

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

The real ebay dictionary, page 1
"Used only once"    - "Some unspecified defect prevented a second use"
"In good condition" - "Can be repaird by experienced expert"
"As is" - "You wouldnt want it even if you were payed for it, if you knew ..."

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