wavparse: Make sure enough data for the tag list tag is available before parsing
authorSebastian Dröge <sebastian@centricular.com>
Fri, 4 Oct 2024 10:09:43 +0000 (13:09 +0300)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 3 Dec 2024 13:51:00 +0000 (13:51 +0000)
Thanks to Antonio Morales for finding and reporting the issue.

Fixes GHSL-2024-258
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3886

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8054>

subprojects/gst-plugins-good/gst/wavparse/gstwavparse.c

index 1129dc7473fd4f920556ffea520e1200c3f77fda..14982493846ac6620d4a9abefb216fe2e5310203 100644 (file)
@@ -1488,6 +1488,10 @@ gst_wavparse_stream_headers (GstWavParse * wav)
       case GST_RIFF_TAG_LIST:{
         guint32 ltag;
 
+        /* Need at least the ltag */
+        if (size < 4)
+          goto exit;
+
         if (wav->streaming) {
           const guint8 *data = NULL;