matroskademux: Put a copy of the codec data into the A_MS/ACM caps

The original codec data buffer is owned by matroskademux and does not
necessarily live as long as the caps.

Thanks to Antonio Morales for finding and reporting the issue.

Fixes GHSL-2024-280
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3894

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8057>
This commit is contained in:
Sebastian Dröge 2024-10-09 11:52:52 -04:00 committed by GStreamer Marge Bot
parent b84a0f3263
commit 474eb62d85

View file

@ -7183,8 +7183,7 @@ gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *
/* 18 is the waveformatex size */
if (size > 18) {
codec_data = gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY,
data + 18, size - 18, 0, size - 18, NULL, NULL);
codec_data = gst_buffer_new_memdup (data + 18, size - 18);
}
if (riff_audio_fmt)