File CVE-2024-47603.patch of Package gstreamer-plugins-good.39155
From b84a0f326350989b81b95f55ef513fdaa16487fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Mon, 30 Sep 2024 19:19:42 +0300
Subject: [PATCH 6/7] matroskademux: Skip over zero-sized Xiph stream headers
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-251
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3867
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8057>
---
diff -urp gst-plugins-good-1.16.3.orig/gst/matroska/matroska-ids.c gst-plugins-good-1.16.3/gst/matroska/matroska-ids.c
--- gst-plugins-good-1.16.3.orig/gst/matroska/matroska-ids.c 2019-04-19 04:16:25.000000000 -0500
+++ gst-plugins-good-1.16.3/gst/matroska/matroska-ids.c 2025-06-04 14:44:00.418015709 -0500
@@ -184,8 +184,10 @@ gst_matroska_parse_xiph_stream_headers (
if (offset + length[i] > codec_data_size)
goto error;
- hdr = gst_buffer_new_wrapped (g_memdup (p + offset, length[i]), length[i]);
- gst_buffer_list_add (list, hdr);
+ if (length[i] > 0) {
+ hdr = gst_buffer_new_wrapped (g_memdup (p + offset, length[i]), length[i]);
+ gst_buffer_list_add (list, hdr);
+ }
offset += length[i];
}