summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAron Xu <aron@debian.org>2015-01-30 14:00:05 +0800
committerAron Xu <aron@debian.org>2015-01-30 14:00:05 +0800
commita4572ce529e0bdfbfd1ee8eb74052c219b511902 (patch)
tree4ec53e6ce9dd08f4ca020206c42d989f20a90f64
parent825a2ea4fdacbb62001996394cc7b23bda28d9db (diff)
downloadlibxml2-a4572ce529e0bdfbfd1ee8eb74052c219b511902.tar.gz
Apply upstream patch for Bug #768089
-rw-r--r--debian/patches/0003-Fix-missing-entities-after-CVE-2014-3660-fix.patch27
-rw-r--r--debian/patches/series1
2 files changed, 28 insertions, 0 deletions
diff --git a/debian/patches/0003-Fix-missing-entities-after-CVE-2014-3660-fix.patch b/debian/patches/0003-Fix-missing-entities-after-CVE-2014-3660-fix.patch
new file mode 100644
index 0000000..2afe1f0
--- /dev/null
+++ b/debian/patches/0003-Fix-missing-entities-after-CVE-2014-3660-fix.patch
@@ -0,0 +1,27 @@
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 23 Oct 2014 11:35:36 +0800
+Subject: Fix missing entities after CVE-2014-3660 fix
+
+For https://bugzilla.gnome.org/show_bug.cgi?id=738805
+
+The fix for CVE-2014-3660 introduced a regression in some case
+where entity substitution is required and the entity is used
+first in anotther entity referenced from an attribute value
+---
+ parser.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/parser.c b/parser.c
+index 1d93967..313ff28 100644
+--- a/parser.c
++++ b/parser.c
+@@ -7235,7 +7235,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
+ * far more secure as the parser will only process data coming from
+ * the document entity by default.
+ */
+- if ((ent->checked == 0) &&
++ if (((ent->checked == 0) ||
++ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) &&
+ ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) ||
+ (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) {
+ unsigned long oldnbent = ctxt->nbentities;
diff --git a/debian/patches/series b/debian/patches/series
index f537d6b..631a2bf 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
0001-modify-xml2-config-and-pkgconfig-behaviour.patch
0002-fix-python-multiarch-includes.patch
+0003-Fix-missing-entities-after-CVE-2014-3660-fix.patch