Files
FFmpeg/libavformat
Andreas Rheinhardt a3a2e782c2 lavf/webm_chunk: Fix NULL dereference
The earlier version of the webm_chunk muxer had several bugs:

1. If the first packet of an audio stream didn't have a PTS of zero,
then no chunk will be started before a packet is delivered to the
underlying Matroska/WebM muxer, i.e. the AVFormatContext used to write
these packets had a NULL as AVIOContext for output. This is behind the
crash in ticket #5752.

2. If an error happens during writing a packet, the underlyimg
Matroska/WebM muxer context is freed. This leads to a use-after-free
coupled with a double-free in webm_chunk_write_trailer (which supposes
that the underlying AVFormatContext is still valid).

3. Even when no error occurs at all, webm_chunk_write_trailer is still
buggy: After the underlying Matroska/WebM muxer has written its trailer,
ending the chunk implicitly flushes it again which is illegal at this
point.

These bugs have been fixed.

Fixes #5752.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
(cherry picked from commit 8c6ee7626b)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-07-03 00:03:45 +02:00
..
2016-07-03 04:37:48 +02:00
2017-10-05 17:10:23 +02:00
2017-09-09 12:07:14 +02:00
2017-03-29 14:49:29 +02:00
2017-09-01 17:56:33 +02:00
2017-02-01 02:57:40 +01:00
2017-09-20 03:31:48 +02:00
2017-09-20 03:31:48 +02:00
2017-09-01 18:52:56 +08:00
2016-10-21 19:41:09 +02:00
2017-10-05 17:10:23 +02:00
2017-08-29 01:33:47 +02:00
2017-02-11 20:20:07 +01:00
2019-03-24 10:38:52 +01:00
2017-09-01 02:16:33 -03:00
2016-05-04 18:16:21 +02:00
2017-10-05 17:10:23 +02:00
2017-10-05 17:10:23 +02:00
2018-06-18 01:16:03 +02:00
2014-07-13 19:18:31 +02:00
2014-07-13 19:18:31 +02:00
2017-09-09 12:07:14 +02:00
2020-07-03 00:02:15 +02:00
2020-07-03 00:03:44 +02:00
2020-07-02 19:55:09 +02:00
2016-05-21 18:49:45 +02:00
2017-03-30 13:26:04 +02:00
2016-11-07 00:51:49 +01:00
2017-06-13 19:49:06 +02:00
2016-07-17 13:10:27 -03:00
2017-09-01 17:56:33 +02:00
2017-09-01 02:16:33 -03:00
2017-03-02 11:39:54 +01:00
2017-07-10 15:02:29 -04:00
2014-10-21 03:52:27 +02:00
2017-01-30 11:00:58 +01:00
2017-09-21 16:17:02 -08:00
2017-09-09 12:07:14 +02:00
2016-05-03 15:45:10 +02:00
2017-09-01 02:16:33 -03:00
2020-07-02 19:55:10 +02:00
2016-08-04 16:25:40 -03:00
2015-01-11 00:35:01 +01:00
2019-11-14 23:30:37 +01:00
2019-11-14 23:30:37 +01:00
2019-11-14 23:30:37 +01:00
2019-11-14 23:30:37 +01:00