gstreamer/gst
Sebastian Dröge 242f3cae6d matroskademux: Fix extraction of multichannel WavPack
The old code had a couple of issues that all lead to potential memory
safety bugs.

  - Use a constant for the Wavpack4Header size instead of using sizeof.
    It's written out into the data and not from the struct and who knows
    what special alignment/padding requirements some C compilers have.
  - gst_buffer_set_size() does not realloc the buffer when setting a
    bigger size than allocated, it only allows growing up to the maximum
    allocated size. Instead use a GstAdapter to collect all the blocks
    and take out everything at once in the end.
  - Check that enough data is actually available in the input and
    otherwise handle it an error in all cases instead of silently
    ignoring it.

Among other things this fixes out of bounds writes because the code
assumed gst_buffer_set_size() can grow the buffer and simply wrote after
the end of the buffer.

Thanks to Natalie Silvanovich for reporting.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/859

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/902>
2021-03-15 12:34:49 +00:00
..
alpha plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:42:25 +02:00
apetag Remove autotools build system 2019-10-14 11:04:18 +01:00
audiofx meson: add update-orc-dist target 2020-07-04 15:04:59 +01:00
audioparsers aacparse: Fix caps change handling 2020-11-13 13:10:05 +00:00
auparse auparse: fix compiler warnings 2020-07-29 19:21:31 +03:00
autodetect autodetect: mark filter-caps property as DOC_SHOW_DEFAULT 2020-06-24 17:04:51 +02:00
avi avidemux: Avoid potential double-free 2020-05-06 04:36:46 +00:00
cutter Remove autotools build system 2019-10-14 11:04:18 +01:00
debugutils navseek: add hold_eos property 2020-11-01 15:19:46 +01:00
deinterlace deinterlace: Provide documentation for GST_DEINTERLACE_BUFFER_STATE 2021-02-03 17:10:20 +02:00
dtmf Remove autotools build system 2019-10-14 11:04:18 +01:00
effectv effectv: Remove redundant license file 2021-02-09 19:31:28 -05:00
equalizer docs: mark GstIirEqualizer as plugin API 2020-06-23 19:04:03 +02:00
flv flvmux: Release pads via GstAggregator 2020-11-02 08:46:21 +00:00
flx Remove autotools build system 2019-10-14 11:04:18 +01:00
goom Remove autotools build system 2019-10-14 11:04:18 +01:00
goom2k1 Remove autotools build system 2019-10-14 11:04:18 +01:00
icydemux Remove autotools build system 2019-10-14 11:04:18 +01:00
id3demux Remove autotools build system 2019-10-14 11:04:18 +01:00
imagefreeze imagefreeze: Response caps query from srcpad 2020-09-21 10:28:01 +03:00
interleave Remove autotools build system 2019-10-14 11:04:18 +01:00
isomp4 qtdemux: added support for cbcs encryption scheme 2021-02-04 12:30:22 +01:00
law Remove autotools build system 2019-10-14 11:04:18 +01:00
level level: add GstRTPAudioLevelMeta on buffers 2021-02-04 11:12:47 +01:00
matroska matroskademux: Fix extraction of multichannel WavPack 2021-03-15 12:34:49 +00:00
monoscope Remove autotools build system 2019-10-14 11:04:18 +01:00
multifile splitmuxsink: Avoid deadlock when releasing a pad from a running muxer 2020-12-16 06:17:08 +00:00
multipart good: use of g_value_dup_string 2019-12-20 09:30:26 +00:00
replaygain Remove autotools build system 2019-10-14 11:04:18 +01:00
rtp rtph264depay: expose request-keyframe property 2021-02-18 01:54:03 +00:00
rtpmanager rtpmanager: Fix an MSVC compile warning 2021-03-03 18:30:39 +09:00
rtsp rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL 2021-03-15 12:59:09 +05:30
shapewipe Remove autotools build system 2019-10-14 11:04:18 +01:00
smpte plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:42:25 +02:00
spectrum Remove autotools build system 2019-10-14 11:04:18 +01:00
udp udpsrc: Fix marker links 2021-01-04 15:23:22 -05:00
videobox meson: add update-orc-dist target 2020-07-04 15:04:59 +01:00
videocrop Fix usage of C99 2020-03-23 21:32:04 -04:00
videofilter videoflip: fix possible crash when setting the video-direction while running 2021-01-04 12:10:12 +00:00
videomixer videomixer: document as deprecated 2021-02-18 01:48:24 +01:00
wavenc wavenc: Fixed INFO chunk corruption, caused by odd sized data not being padded. Code style was updated. 2021-02-17 09:54:40 +02:00
wavparse wavparse: fix seeking in READY state 2021-02-18 16:32:24 +01:00
y4m Remove autotools build system 2019-10-14 11:04:18 +01:00
meson.build meson: Add feature options for all plugins 2018-07-27 18:42:54 +05:30