avcodec/jpeg2000dec: Make sure the 4 extra bytes allocated are initialized
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 9 Aug 2025 09:38:07 +0000 (11:38 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 13 Aug 2025 22:20:31 +0000 (00:20 +0200)
Fixes: use of uninitialized memory
Fixes: 429130590/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_DEC_fuzzer-5736930522497024

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d6fe3786cd8c06437756d407f727ff01cf1774ff)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/jpeg2000dec.c

index a34bbc833ae65a80dd1257c87d126bbc7b094bac..4a5a0bd47d33c984ac99ae5a543f27c48bc44e90 100644 (file)
@@ -1291,6 +1291,7 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile,
 
                 bytestream2_get_bufferu(&s->g, cblk->data + cblk->length, cblk->lengthinc[cwsno]);
                 cblk->length   += cblk->lengthinc[cwsno];
+                memset(cblk->data + cblk->length, 0, 4);
                 cblk->lengthinc[cwsno] = 0;
                 if (cblk->nb_terminationsinc) {
                     cblk->nb_terminationsinc--;