mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-29 03:30:35 +00:00
matroskademux: Don't take data out of an empty adapter when processing WavPack frames
Thanks to Antonio Morales for finding and reporting the issue. Fixes GHSL-2024-249 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3865 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8057>
This commit is contained in:
parent
8aa1c185cf
commit
395f2b3ffd
1 changed files with 8 additions and 3 deletions
|
@ -4042,11 +4042,16 @@ gst_matroska_demux_add_wvpk_header (GstElement * element,
|
|||
}
|
||||
gst_buffer_unmap (*buf, &map);
|
||||
|
||||
newbuf = gst_adapter_take_buffer (adapter, gst_adapter_available (adapter));
|
||||
size = gst_adapter_available (adapter);
|
||||
if (size > 0) {
|
||||
newbuf = gst_adapter_take_buffer (adapter, size);
|
||||
gst_buffer_copy_into (newbuf, *buf,
|
||||
GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1);
|
||||
} else {
|
||||
newbuf = NULL;
|
||||
}
|
||||
g_object_unref (adapter);
|
||||
|
||||
gst_buffer_copy_into (newbuf, *buf,
|
||||
GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1);
|
||||
gst_buffer_unref (*buf);
|
||||
*buf = newbuf;
|
||||
|
||||
|
|
Loading…
Reference in a new issue