PR #21271 opened by michaelni URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21271 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21271.patch
Fixes: negative shift and other undefined shifts Fixes: 462335934/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_DEC_fuzzer-4538493775970304 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> >From 466447b98980e328674719449ce7b7d1b225641a Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <[email protected]> Date: Mon, 22 Dec 2025 22:56:10 +0100 Subject: [PATCH] avcodec/jpeg2000htdec: Check pLSB Fixes: negative shift and other undefined shifts Fixes: 462335934/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_DEC_fuzzer-4538493775970304 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> --- libavcodec/jpeg2000htdec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/jpeg2000htdec.c b/libavcodec/jpeg2000htdec.c index 08140e06a9..54b37009c2 100644 --- a/libavcodec/jpeg2000htdec.c +++ b/libavcodec/jpeg2000htdec.c @@ -1263,6 +1263,11 @@ ff_jpeg2000_decode_htj2k(const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c cblk->zbp = S_blk - 1; pLSB = 30 - S_blk; + if (pLSB <= 1 || pLSB >= 31) { + avpriv_request_sample(s->avctx, "pLSB %d", pLSB); + return AVERROR_PATCHWELCOME; + } + Scup = (Dcup[Lcup - 1] << 4) + (Dcup[Lcup - 2] & 0x0F); if (Scup < 2 || Scup > Lcup || Scup > 4079) { -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
