1
0
mirror of https://git.ffmpeg.org/ffmpeg.git synced 2026-10-24 02:09:03 +03:00
Files
ffmpeg/libavcodec
Michael Niedermayer db8beb39c0 avcodec/indeo3: check that the VQ descriptor byte lies within the plane data
decode_cell() read the descriptor byte before comparing against last_ptr,
so a bit tree that ran out of data took the mode and VQ index of its last
cell from the byte after the plane.

That read is bounded: next_cell_data comes either from the bit position,
which the checked bit reader clamps to 8 bits past the end of the plane,
or from a completed cell, whose reads all lie before last_ptr. So the
descriptor is read at most 2 bytes past the plane, the plane ends at or
before the packet, and the read stays inside the packet padding. This is
not an out of array access, the cell was just decoded from a byte that
does not belong to its plane.

Found-by: zhang xingxing

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-09-23 18:57:28 +00:00
..
2026-06-17 17:34:24 +09:00
2026-09-02 22:31:34 +02:00
2026-09-10 18:23:50 +00:00
…
2026-09-02 22:31:34 +02:00
…
2026-09-12 23:52:20 +00:00
…
…
…
…
…
2026-09-12 23:52:20 +00:00
2026-09-12 23:52:20 +00:00
2026-09-12 23:52:20 +00:00
2026-07-01 21:05:27 +09:00
2026-07-01 21:05:27 +09:00
2026-09-12 23:52:20 +00:00
…
…
2026-09-12 23:52:20 +00:00
2026-09-12 23:52:20 +00:00
…
…
…
2026-09-12 23:52:20 +00:00
…
2026-09-02 22:31:34 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
2026-09-12 23:52:20 +00:00
…
…
…
…
…
…
2026-06-23 19:15:57 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
2026-09-10 18:23:50 +00:00
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
2026-09-12 23:52:20 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-04-28 14:31:19 +02:00
…
…
…
…
…
…
…
2026-04-28 12:29:37 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
…
2026-05-03 16:56:43 +02:00
…
…
2026-08-09 17:26:53 +02:00
…
…
…
2026-09-06 00:48:26 +02:00
…
2026-04-28 12:29:37 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
…
…
…
…
2026-06-03 14:12:50 +09:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-06-23 19:15:57 +02:00
…
…
…
…
…
…
2026-03-10 13:52:19 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-06-23 19:15:57 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
…
…
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
…
…
…
…
…
2026-05-03 18:23:03 +02:00
…
…
…
…
2026-07-07 17:35:58 +00:00
2026-07-07 17:35:58 +00:00
…
…
…
…
…
…
…
…
…
…
2026-06-13 15:55:40 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-05-02 21:39:02 +00:00
…
…
…
…
…
…
…
…
…
…
2026-06-23 17:15:02 +02:00
…
2026-07-28 17:54:07 +02:00
…
…
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
…
…
…
2026-07-01 21:05:27 +09:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-03-10 13:52:19 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
2026-03-28 11:25:38 +01:00
…
…
…
…
…
…
2026-05-03 18:22:24 +02:00
…
…
2026-09-12 23:52:20 +00:00
2026-09-12 23:52:20 +00:00
…
…
…
…
…
…
…
…
…
…
…
2026-03-02 19:01:46 +01:00
2026-09-12 23:52:20 +00:00
…
…
…
…
…
…
…
…
…
…
…
2026-08-13 13:17:59 +02:00
…
…
…
…
…
…
…
…
2026-09-12 23:52:20 +00:00
…
2026-09-21 21:23:33 +00:00
…
…
…
…
…
…
2026-08-09 17:25:23 +02:00
…
2026-08-09 17:25:23 +02:00
2026-08-09 17:25:23 +02:00
2026-08-09 17:25:23 +02:00
2026-08-09 17:25:23 +02:00
2026-08-09 17:25:23 +02:00
…
…
…
…
…
…
…
…
2026-03-10 13:52:18 +01:00
…
…
2026-06-23 19:15:57 +02:00
…
2026-04-28 12:29:37 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
2026-07-28 17:54:07 +02:00
…
…
…
…
…
…
…
…
…
…
2026-03-10 13:52:19 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-06-23 19:15:57 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-03-16 10:24:33 +00:00
…
…
…
…
…
…
…