summaryrefslogtreecommitdiff
path: root/0002-subparse-Skip-after-the-end-of-a-valid-closing-tag-i.patch
diff options
context:
space:
mode:
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.patch33
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
+