Files
FFmpeg/libavcodec
Andreas Rheinhardt 3df2eab778 avcodec/hevc_mp4toannexb_bsf: Check NAL size against available input
The hevc_mp4toannexb bsf does not explicitly check whether a NAL unit
is so big that it extends beyond the end of the input packet; it does so
only implicitly by using the checked version of the bytestream2 API.
But this has downsides compared to real checks: It can lead to huge
allocations (up to 2GiB) even when the input packet is just a few bytes.
And furthermore it leads to uninitialized data being output.
So add a check to error out early if it happens.

Also check directly whether there is enough data for the length field.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
(cherry picked from commit ea1b71e82f)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-07-03 17:11:15 +02:00
..
2020-07-01 22:25:21 +02:00
2018-10-15 01:19:45 +02:00
2018-10-12 09:48:07 -07:00
2018-08-08 00:13:13 +05:30
2019-06-27 17:50:47 +02:00
2018-09-23 14:42:34 +01:00
2020-01-06 15:03:15 +01:00
2018-07-18 13:59:25 +02:00
2018-04-19 22:59:40 +02:00
2020-01-06 11:30:42 +01:00
2020-07-03 12:10:24 +02:00
2018-04-25 23:09:47 +02:00
2019-06-27 17:50:47 +02:00
2020-01-06 15:03:15 +01:00
2018-09-09 11:35:14 +02:00
2020-07-03 12:10:24 +02:00
2020-07-03 12:10:24 +02:00
2018-09-23 15:25:50 +02:00
2019-01-21 07:53:25 +01:00
2018-05-25 20:09:22 +02:00
2019-06-29 20:43:54 +02:00
2019-03-14 00:24:44 +01:00
2020-01-06 11:30:42 +01:00
2020-07-03 12:10:24 +02:00
2018-10-03 20:48:49 -03:00
2020-07-03 12:10:24 +02:00
2018-03-29 00:05:52 -03:00
2018-08-22 11:36:19 +02:00
2020-07-03 12:10:23 +02:00
2018-09-14 21:36:21 +02:00
2018-05-05 21:35:31 +02:00
2020-07-03 12:10:23 +02:00
2020-01-06 11:30:42 +01:00
2019-07-08 11:44:52 +02:00
2020-07-01 22:20:51 +02:00
2019-01-21 07:53:26 +01:00
2020-07-01 22:18:52 +02:00
2020-01-06 11:30:44 +01:00
2018-09-08 21:21:50 +02:00
2020-01-06 11:30:43 +01:00
2019-01-21 07:53:26 +01:00
2018-04-25 22:07:20 +02:00
2020-01-06 11:30:42 +01:00
2020-01-06 11:30:43 +01:00
2020-01-06 11:30:42 +01:00
2020-01-06 11:30:42 +01:00
2020-01-06 11:30:42 +01:00
2018-09-30 22:23:02 +02:00
2019-03-14 00:24:44 +01:00