PR #25343 opened by ffmpeg-devel URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25343 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25343.patch
**Backport:** https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25047 Nellymoser requires the demuxer to provide the sample rate, so reject invalid ones. >From 92611900bb112123e9bf997fdcc2d78e4c4922fc Mon Sep 17 00:00:00 2001 From: Marvin Scholz <[email protected]> Date: Tue, 13 Oct 2026 21:25:13 +0000 Subject: [PATCH] avcodec: nellymoser: reject invalid sample rate Nellymoser expects the caller to set the samplerate, as it doesn't read it from the bitstream. However the generic check for this is bypassed as it has the AV_CODEC_CAP_CHANNEL_CONF capability because it does set the channel configuration, however that cap also bypasses the generic samplerate check. This is mostly harmless as nellymoser doesn't care about the samplerate, but since f566032bfda2 it would cause an AVERROR_BUG to be returned to the caller, so better reject it outright in the decoder. Signed-off-by: Marvin Scholz <[email protected]> (cherry picked from commit 23918b32004a517278ba441b9d0cb5307ced0cdb) --- libavcodec/nellymoserdec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c index 7037d6b0bae..04b0c01afe8 100644 --- a/libavcodec/nellymoserdec.c +++ b/libavcodec/nellymoserdec.c @@ -121,6 +121,11 @@ static av_cold int decode_init(AVCodecContext * avctx) float scale = 1.0f; NellyMoserDecodeContext *s = avctx->priv_data; + if (avctx->sample_rate <= 0) { + av_log(avctx, AV_LOG_ERROR, "Sample rate %d is invalid\n", avctx->sample_rate); + return AVERROR(EINVAL); + } + s->avctx = avctx; s->imdct_out = s->imdct_buf[0]; s->imdct_prev = s->imdct_buf[1]; -- 2.54.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
