From 4c40f73b7002967e824ef34a5435282f4a0ea363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 9 Oct 2024 11:23:47 -0400 Subject: [PATCH] subparse: Check for NULL return of strchr() when parsing LRC subtitles Thanks to Antonio Morales for finding and reporting the issue. Fixes GHSL-2024-263 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3892 Part-of: --- subprojects/gst-plugins-base/gst/subparse/gstsubparse.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c b/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c index 8d925524a6..7d286ed318 100644 --- a/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c +++ b/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c @@ -1070,6 +1070,11 @@ parse_lrc (ParserState * state, const gchar * line) return NULL; start = strchr (line, ']'); + // sscanf() does not check for the trailing ] but only up to the last + // placeholder, so there might be no ] at the end. + if (!start) + return NULL; + if (start - line == 9) milli = 10; else