PR #21268 opened by michaelni
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21268
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21268.patch

Fixes: division by 0
Fixes: 
457634826/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_PSXC_DEC_fuzzer-4903668521697280

Found-by:  continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <[email protected]>


>From e965801a0e13f16829be67708618c145748ff5b8 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <[email protected]>
Date: Mon, 22 Dec 2025 18:30:52 +0100
Subject: [PATCH] avcodec/adpcm: check block_align for PSXC

Fixes: division by 0
Fixes: 
457634826/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_PSXC_DEC_fuzzer-4903668521697280

Found-by:  continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <[email protected]>
---
 libavcodec/adpcm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index 72fbb841a4..3da0791ba3 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -294,7 +294,7 @@ static av_cold int adpcm_decode_init(AVCodecContext * avctx)
         break;
     case AV_CODEC_ID_ADPCM_PSXC:
         max_channels = 8;
-        if (avctx->ch_layout.nb_channels <= 0)
+        if (avctx->ch_layout.nb_channels <= 0 || avctx->block_align <= 0)
             return AVERROR_INVALIDDATA;
         break;
     case AV_CODEC_ID_ADPCM_IMA_DAT4:
-- 
2.49.1

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to