ssaparse: Search for closing brace after opening brace

Otherwise removing anything between the braces leads to out of bound writes if
there is a closing brace before the first opening brace.

Thanks to Antonio Morales for finding and reporting the issue.

Fixes GHSL-2024-228
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3870

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8036>
This commit is contained in:
Sebastian Dröge 2024-09-30 21:40:44 +03:00 committed by GStreamer Marge Bot
parent aa07d94c10
commit 15bb318416

View file

@ -238,7 +238,7 @@ gst_ssa_parse_remove_override_codes (GstSsaParse * parse, gchar * txt)
gboolean removed_any = FALSE; gboolean removed_any = FALSE;
while ((t = strchr (txt, '{'))) { while ((t = strchr (txt, '{'))) {
end = strchr (txt, '}'); end = strchr (t, '}');
if (end == NULL) { if (end == NULL) {
GST_WARNING_OBJECT (parse, "Missing { for style override code"); GST_WARNING_OBJECT (parse, "Missing { for style override code");
return removed_any; return removed_any;