summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/libxml2-bug-737840.patch
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-11-15 14:16:57 -0500
committerMark H Weaver <mhw@netris.org>2015-11-18 17:47:40 -0500
commitee6bb0cc763507b165674dbe03c6ae5d26c8da5c (patch)
tree34c4d1d29b5428f83113af81bc4464b432669c85 /gnu/packages/patches/libxml2-bug-737840.patch
parent328a14e869c01ae4e33120a08a5d60c719263684 (diff)
downloadguix-patches-ee6bb0cc763507b165674dbe03c6ae5d26c8da5c.tar
guix-patches-ee6bb0cc763507b165674dbe03c6ae5d26c8da5c.tar.gz
gnu: libxml2: Add fixes for CVE-2015-{1819,7941,7942,8035} and other bugs.
* gnu/packages/patches/libxml2-CVE-2015-1819.patch, gnu/packages/patches/libxml2-CVE-2015-7941-pt1.patch, gnu/packages/patches/libxml2-CVE-2015-7941-pt2.patch, gnu/packages/patches/libxml2-CVE-2015-7942-pt1.patch, gnu/packages/patches/libxml2-CVE-2015-7942-pt2.patch, gnu/packages/patches/libxml2-CVE-2015-8035.patch, gnu/packages/patches/libxml2-bug-737840.patch, gnu/packages/patches/libxml2-bug-738805.patch, gnu/packages/patches/libxml2-bug-746048.patch, gnu/packages/patches/libxml2-bug-747437.patch, gnu/packages/patches/libxml2-bug-751603.patch, gnu/packages/patches/libxml2-bug-751631.patch, gnu/packages/patches/libxml2-bug-754946.patch, gnu/packages/patches/libxml2-bug-754947.patch, gnu/packages/patches/libxml2-bug-755857.patch, gnu/packages/patches/libxml2-fix-catalog-corruption.patch, gnu/packages/patches/libxml2-id-attrs-in-xmlSetTreeDoc.patch, gnu/packages/patches/libxml2-node-sort-order-pt1.patch, gnu/packages/patches/libxml2-node-sort-order-pt2.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/xml.scm (libxml2)[source]: Add patches.
Diffstat (limited to 'gnu/packages/patches/libxml2-bug-737840.patch')
-rw-r--r--gnu/packages/patches/libxml2-bug-737840.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/gnu/packages/patches/libxml2-bug-737840.patch b/gnu/packages/patches/libxml2-bug-737840.patch
new file mode 100644
index 0000000000..2a2d62c583
--- /dev/null
+++ b/gnu/packages/patches/libxml2-bug-737840.patch
@@ -0,0 +1,88 @@
+From ef709ce2f7b792d5fb69ed142796d743fb1eb388 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 10 Sep 2015 19:41:41 +0800
+Subject: [PATCH] Fix the spurious ID already defined error
+
+For https://bugzilla.gnome.org/show_bug.cgi?id=737840
+the fix for 724903 introduced a regression on external entities carrying
+IDs, revert that patch in part and add a specific test to avoid readding it
+---
+ result/valid/737840.xml | 10 ++++++++++
+ result/valid/737840.xml.err | 0
+ result/valid/737840.xml.err.rdr | 0
+ test/valid/737840.xml | 10 ++++++++++
+ test/valid/dtds/737840.ent | 1 +
+ valid.c | 6 ++++--
+ 6 files changed, 25 insertions(+), 2 deletions(-)
+ create mode 100644 result/valid/737840.xml
+ create mode 100644 result/valid/737840.xml.err
+ create mode 100644 result/valid/737840.xml.err.rdr
+ create mode 100644 test/valid/737840.xml
+ create mode 100644 test/valid/dtds/737840.ent
+
+diff --git a/result/valid/737840.xml b/result/valid/737840.xml
+new file mode 100644
+index 0000000..433c6d6
+--- /dev/null
++++ b/result/valid/737840.xml
+@@ -0,0 +1,10 @@
++<?xml version="1.0"?>
++<!DOCTYPE root [
++<!ELEMENT root (elem)>
++<!ELEMENT elem (#PCDATA)>
++<!ATTLIST elem id ID #IMPLIED>
++<!ENTITY target SYSTEM "dtds/737840.ent">
++]>
++<root>
++ &target;
++</root>
+diff --git a/result/valid/737840.xml.err b/result/valid/737840.xml.err
+new file mode 100644
+index 0000000..e69de29
+diff --git a/result/valid/737840.xml.err.rdr b/result/valid/737840.xml.err.rdr
+new file mode 100644
+index 0000000..e69de29
+diff --git a/test/valid/737840.xml b/test/valid/737840.xml
+new file mode 100644
+index 0000000..2d27b73
+--- /dev/null
++++ b/test/valid/737840.xml
+@@ -0,0 +1,10 @@
++<!DOCTYPE root [
++<!ELEMENT root (elem)>
++<!ELEMENT elem (#PCDATA)>
++<!ATTLIST elem id ID #IMPLIED>
++<!ENTITY target SYSTEM "dtds/737840.ent">
++]>
++
++<root>
++ &target;
++</root>
+diff --git a/test/valid/dtds/737840.ent b/test/valid/dtds/737840.ent
+new file mode 100644
+index 0000000..e972132
+--- /dev/null
++++ b/test/valid/dtds/737840.ent
+@@ -0,0 +1 @@
++<elem id="id0"/>
+\ No newline at end of file
+diff --git a/valid.c b/valid.c
+index 409aa81..45a3f70 100644
+--- a/valid.c
++++ b/valid.c
+@@ -2634,8 +2634,10 @@ xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value,
+ /*
+ * The id is already defined in this DTD.
+ */
+- xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED,
+- "ID %s already defined\n", value, NULL, NULL);
++ if (ctxt != NULL) {
++ xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED,
++ "ID %s already defined\n", value, NULL, NULL);
++ }
+ #endif /* LIBXML_VALID_ENABLED */
+ xmlFreeID(ret);
+ return(NULL);
+--
+2.6.3
+