PR #23759 opened by michaelni URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23759 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23759.patch
Fixes: Timeout Fixes: 490144337/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VORBIS_DEC_fuzzer-4539724776931328 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg >From bb6db6f6000f430306e2b7e6fbd9ae8b94b5fedf Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <[email protected]> Date: Fri, 10 Jul 2026 02:34:59 +0200 Subject: [PATCH] avcodec/vorbisdec: skip the MDCT for unused channels Fixes: Timeout Fixes: 490144337/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VORBIS_DEC_fuzzer-4539724776931328 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg --- libavcodec/vorbisdec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index ba99c01307..aeea1b4908 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -1740,6 +1740,10 @@ static int vorbis_parse_audio_packet(vorbis_context *vc, float **floor_ptr) for (j = vc->audio_channels-1;j >= 0; j--) { ch_res_ptr = vc->channel_residues + res_chan[j] * blocksize / 2; + if (no_residue[j]) { + memset(ch_res_ptr, 0, (blocksize / 2) * sizeof(float)); + continue; + } vc->fdsp->vector_fmul(floor_ptr[j], floor_ptr[j], ch_res_ptr, blocksize / 2); mdct_fn(mdct, ch_res_ptr, floor_ptr[j], sizeof(float)); } -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
