Oliver Chang
9849a274df
avcodec/dpx: Fix heap-buffer-overflow in 16-bit decoding
...
Fixes a heap-buffer-overflow in `libavcodec/dpx.c` triggered by a stale
`unpadded_10bit` flag in the `DPXDecContext`. This flag, set for 10-bit
unpadded frames, persisted across `decode_frame` calls. If a subsequent
frame was 16-bit, the stale flag caused incorrect buffer size
validation, allowing truncated buffers to pass checks designed for
smaller 10-bit packed data. This led to an out-of-bounds read in
`av_image_copy_plane` during 16-bit decoding.
The fix explicitly resets `dpx->unpadded_10bit = 0` at the start of
`decode_frame` to ensure correct validation for each frame.
Fixes: https://issues.oss-fuzz.com/issues/464471792
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
Fixes: out of array read
Fixes: 464471792/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DPX_DEC_fuzzer-5275522210004992
2025-12-07 19:41:02 +00:00
..
2025-12-04 09:34:32 +00:00
2025-11-24 21:22:55 +00:00
2025-12-03 10:23:39 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 01:36:01 +00:00
2025-12-03 10:20:41 +01:00
2025-12-03 13:53:54 +02:00
2025-11-30 22:20:13 +01:00
2025-12-03 10:20:42 +01:00
2025-12-07 20:27:35 +02:00
2025-11-24 16:48:31 +01:00
2025-12-07 18:17:36 +00:00
2025-11-30 22:20:13 +01:00
2025-12-04 08:40:43 +00:00
2025-12-04 15:17:37 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-27 15:54:49 +08:00
2025-12-03 11:52:54 +01:00
2025-12-05 15:53:19 +00:00
2025-11-24 20:06:24 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-12-05 19:42:41 +01:00
2025-12-07 12:47:46 -03:00
2025-12-07 12:47:46 -03:00
2025-11-12 14:50:21 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-27 20:01:54 -03:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-04 08:26:26 +00:00
2025-12-04 08:26:26 +00:00
2025-12-04 08:26:26 +00:00
2025-12-04 08:26:26 +00:00
2025-12-04 08:26:26 +00:00
2025-11-30 22:20:13 +01:00
2025-12-07 11:58:01 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-12-07 19:41:02 +00:00
2025-11-26 15:16:42 +01:00
2025-12-03 11:52:54 +01:00
2025-11-28 19:52:51 +01:00
2025-11-30 22:20:13 +01:00
2025-11-26 15:16:40 +01:00
2025-11-26 15:16:40 +01:00
2025-11-12 00:37:24 +01:00
2025-11-26 15:16:40 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-11-21 11:55:09 +01:00
2025-11-21 11:55:09 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-12-05 13:54:08 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-12 14:50:46 +01:00
2025-11-12 14:50:46 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-26 15:16:43 +01:00
2025-11-30 22:20:13 +01:00
2025-11-21 11:55:09 +01:00
2025-11-24 16:48:31 +01:00
2025-11-24 16:48:31 +01:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-11-12 14:40:14 -05:00
2025-11-30 22:20:13 +01:00
2025-11-27 12:10:29 +01:00
2025-11-30 22:20:13 +01:00
2025-11-14 12:16:48 +00:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-11-21 11:55:09 +01:00
2025-11-21 11:55:09 +01:00
2025-12-03 10:20:41 +01:00
2025-11-21 11:55:09 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-11-21 11:55:09 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-12-07 20:20:38 +02:00
2025-12-07 20:20:38 +02:00
2025-12-03 10:23:43 +01:00
2025-12-03 10:23:43 +01:00
2025-11-21 11:55:09 +01:00
2025-11-18 20:41:12 +01:00
2025-11-18 20:41:12 +01:00
2025-12-03 11:52:54 +01:00
2025-11-21 11:55:09 +01:00
2025-11-11 20:08:36 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 16:40:02 +00:00
2025-11-26 15:16:41 +01:00
2025-11-30 22:20:13 +01:00
2025-12-05 19:42:41 +01:00
2025-11-30 22:20:13 +01:00
2025-11-27 15:54:49 +08:00
2025-11-21 11:55:09 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-21 11:55:09 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-05 11:31:23 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-15 00:39:43 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-12-07 12:47:46 -03:00
2025-11-30 22:20:13 +01:00
2025-11-20 00:56:12 +08:00
2025-11-30 22:20:13 +01:00
2025-11-27 11:34:25 +01:00
2025-11-30 22:20:13 +01:00
2025-11-27 12:10:29 +01:00
2025-11-27 12:10:29 +01:00
2025-11-27 12:10:29 +01:00
2025-11-30 22:20:13 +01:00
2025-12-04 15:17:37 +01:00
2025-11-30 22:20:13 +01:00
2025-11-27 12:10:29 +01:00
2025-11-27 12:10:29 +01:00
2025-11-27 12:10:32 +01:00
2025-12-03 11:52:54 +01:00
2025-12-07 18:17:36 +00:00
2025-12-04 15:08:46 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-11-26 15:16:40 +01:00
2025-12-03 11:52:54 +01:00
2025-12-03 11:52:54 +01:00
2025-11-26 15:16:42 +01:00
2025-12-07 18:17:36 +00:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00