[FFmpeg-devel] [PATCH 4/5] avcodec/jpeg2000dec: Check that we arent reading with a non existing tile part
Michael Niedermayer
michael at niedermayer.cc
Wed Jul 16 03:52:07 EEST 2025
Fixes: applying zero offset to null pointer
Fixes: 429330004/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_DEC_fuzzer-4733213845291008
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
libavcodec/jpeg2000dec.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index b82d85d5ee5..0e867025a38 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -1156,6 +1156,10 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile,
else
select_stream(s, tile, tp_index, codsty);
+ // refering to a non existing tile part
+ if (!s->g.buffer)
+ return AVERROR_INVALIDDATA;
+
if (!(ret = get_bits(s, 1))) {
jpeg2000_flush(s);
goto skip_data;
@@ -1868,7 +1872,8 @@ static int jpeg2000_decode_packets(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile
);
}
/* EOC marker reached */
- bytestream2_skip(&s->g, 2);
+ if (ret >= 0)
+ bytestream2_skip(&s->g, 2);
return ret;
}
--
2.49.0
More information about the ffmpeg-devel
mailing list