diff options
Diffstat (limited to '0002-subparse-Skip-after-the-end-of-a-valid-closing-tag-i.patch')
-rw-r--r-- | 0002-subparse-Skip-after-the-end-of-a-valid-closing-tag-i.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/0002-subparse-Skip-after-the-end-of-a-valid-closing-tag-i.patch b/0002-subparse-Skip-after-the-end-of-a-valid-closing-tag-i.patch new file mode 100644 index 0000000..42353ae --- /dev/null +++ b/0002-subparse-Skip-after-the-end-of-a-valid-closing-tag-i.patch @@ -0,0 +1,33 @@ +From 997e8b0a485a22a9e44d503d7a1c6aa1970061e0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com> +Date: Tue, 13 Jun 2023 12:58:26 +0300 +Subject: [PATCH 2/2] subparse: Skip after the end of a valid closing tag + instead of only skipping `<` + +This is a small optimization and avoids restarting the next parsing +iteration on already accepted data. + +On its own it would also fix ZDI-CAN-20968 (see previous commit) but the +previous commit independently is also a valid fix for it. + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4895> +--- + subprojects/gst-plugins-base/gst/subparse/gstsubparse.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c b/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c +index d0960a971a..b33ddbb2a7 100644 +--- a/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c ++++ b/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c +@@ -794,6 +794,8 @@ subrip_fix_up_markup (gchar ** p_txt, gconstpointer allowed_tags_ptr) + } else { + --num_open_tags; + g_ptr_array_remove_index (open_tags, num_open_tags); ++ cur = end_tag + 1; ++ continue; + } + } + } +-- +2.43.0 + |