mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 09:10:36 +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);
|
gst_buffer_unmap (*buf, &map);
|
||||||
|
|
||||||
newbuf = gst_adapter_take_buffer (adapter, gst_adapter_available (adapter));
|
size = gst_adapter_available (adapter);
|
||||||
g_object_unref (adapter);
|
if (size > 0) {
|
||||||
|
newbuf = gst_adapter_take_buffer (adapter, size);
|
||||||
gst_buffer_copy_into (newbuf, *buf,
|
gst_buffer_copy_into (newbuf, *buf,
|
||||||
GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1);
|
GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1);
|
||||||
|
} else {
|
||||||
|
newbuf = NULL;
|
||||||
|
}
|
||||||
|
g_object_unref (adapter);
|
||||||
|
|
||||||
gst_buffer_unref (*buf);
|
gst_buffer_unref (*buf);
|
||||||
*buf = newbuf;
|
*buf = newbuf;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue