36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
From 4c40f73b7002967e824ef34a5435282f4a0ea363 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
|
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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8039>
|
|
---
|
|
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 8d925524a650..7d286ed3186e 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
|
|
--
|
|
GitLab
|
|
|