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
2018-02-24 17:06:31 +01:00
2018-02-24 17:06:31 +01: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
2017-12-10 14:43:01 +01:00
2018-02-24 17:06:31 +01:00
2017-12-11 00:42:26 -03: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-01-03 13:00:06 -05: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
2018-03-07 22:26:53 +01:00
2018-02-24 04:50:55 +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-02-21 23:38:30 +00: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
2017-12-19 23:21:59 +00:00
2020-01-06 11:30:42 +01:00
2018-09-30 22:23:02 +02:00
2017-12-19 23:21:59 +00:00
2019-03-14 00:24:44 +01:00