summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/liborcus/UnpackedTarball_liborcus.mk3
-rw-r--r--external/liborcus/liborcus-handle-invalid-xml.patch.112
2 files changed, 15 insertions, 0 deletions
diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk
index 9e2df47937c6..930543c9b664 100644
--- a/external/liborcus/UnpackedTarball_liborcus.mk
+++ b/external/liborcus/UnpackedTarball_liborcus.mk
@@ -21,6 +21,9 @@ liborcus_patches += liborcus_0.1.0-configure.patch
# don't use dllimport
liborcus_patches += liborcus_0.1.0-dllimport.patch
+# fdo#63844
+liborcus_patches += liborcus-handle-invalid-xml.patch.1
+
ifeq ($(OS),MACOSX)
# no "tac" command on OS X, but "tail -r"
liborcus_patches += liborcus_0.1.0-tac.patch
diff --git a/external/liborcus/liborcus-handle-invalid-xml.patch.1 b/external/liborcus/liborcus-handle-invalid-xml.patch.1
new file mode 100644
index 000000000000..4cb091d3e61b
--- /dev/null
+++ b/external/liborcus/liborcus-handle-invalid-xml.patch.1
@@ -0,0 +1,12 @@
+diff -ur liborcus.org/include/orcus/sax_parser.hpp liborcus/include/orcus/sax_parser.hpp
+--- liborcus.org/include/orcus/sax_parser.hpp 2013-12-13 20:51:55.126503773 +0100
++++ liborcus/include/orcus/sax_parser.hpp 2013-12-13 20:57:39.076174743 +0100
+@@ -278,6 +278,8 @@
+ special_tag();
+ break;
+ default:
++ if (!is_alpha(c))
++ throw malformed_xml_error("expect an alphabet.");
+ element_open(pos);
+ }
+ }