mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 20:05:38 +00:00
wavparse: Check size before reading ds64 chunk
Thanks to Antonio Morales for finding and reporting the issue. Fixes GHSL-2024-261 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3889 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8042>
This commit is contained in:
parent
526d0eef0d
commit
4f381d1501
1 changed files with 5 additions and 0 deletions
|
@ -1088,6 +1088,11 @@ parse_ds64 (GstWavParse * wav, GstBuffer * buf)
|
|||
guint32 sampleCountLow, sampleCountHigh;
|
||||
|
||||
gst_buffer_map (buf, &map, GST_MAP_READ);
|
||||
if (map.size < 6 * 4) {
|
||||
GST_WARNING_OBJECT (wav, "Too small ds64 chunk (%" G_GSIZE_FORMAT ")",
|
||||
map.size);
|
||||
return FALSE;
|
||||
}
|
||||
dataSizeLow = GST_READ_UINT32_LE (map.data + 2 * 4);
|
||||
dataSizeHigh = GST_READ_UINT32_LE (map.data + 3 * 4);
|
||||
sampleCountLow = GST_READ_UINT32_LE (map.data + 4 * 4);
|
||||
|
|
Loading…
Reference in a new issue