components/libxml2/patches/Bug737840.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Thu, 05 Nov 2015 07:03:40 -0800
changeset 5070 4a5c8cc70bd0
permissions -rw-r--r--
22158519 libxml2 2.9.2 breaks libxslt tests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5070
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     1
Patch origin: upstream
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     2
Patch status: will be part of next version
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     3
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     4
https://git.gnome.org/browse/libxml2/commit/?id=ef709ce2f7b792d5fb69ed142796d743fb1eb388
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     5
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     6
From ef709ce2f7b792d5fb69ed142796d743fb1eb388 Mon Sep 17 00:00:00 2001
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     7
From: Daniel Veillard <[email protected]>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     8
Date: Thu, 10 Sep 2015 19:41:41 +0800
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     9
Subject: Fix the spurious ID already defined error
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    10
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    11
For https://bugzilla.gnome.org/show_bug.cgi?id=737840
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    12
the fix for 724903 introduced a regression on external entities carrying
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    13
IDs, revert that patch in part and add a specific test to avoid readding it
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    14
---
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    15
 result/valid/737840.xml         | 10 ++++++++++
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    16
 result/valid/737840.xml.err     |  0
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    17
 result/valid/737840.xml.err.rdr |  0
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    18
 test/valid/737840.xml           | 10 ++++++++++
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    19
 test/valid/dtds/737840.ent      |  1 +
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    20
 valid.c                         |  6 ++++--
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    21
 6 files changed, 25 insertions(+), 2 deletions(-)
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    22
 create mode 100644 result/valid/737840.xml
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    23
 create mode 100644 result/valid/737840.xml.err
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    24
 create mode 100644 result/valid/737840.xml.err.rdr
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    25
 create mode 100644 test/valid/737840.xml
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    26
 create mode 100644 test/valid/dtds/737840.ent
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    27
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    28
diff --git a/result/valid/737840.xml b/result/valid/737840.xml
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    29
new file mode 100644
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    30
index 0000000..433c6d6
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    31
--- /dev/null
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    32
+++ b/result/valid/737840.xml
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    33
@@ -0,0 +1,10 @@
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    34
+<?xml version="1.0"?>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    35
+<!DOCTYPE root [
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    36
+<!ELEMENT root (elem)>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    37
+<!ELEMENT elem (#PCDATA)>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    38
+<!ATTLIST elem id ID #IMPLIED>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    39
+<!ENTITY target SYSTEM "dtds/737840.ent">
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    40
+]>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    41
+<root>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    42
+  &target;
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    43
+</root>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    44
diff --git a/result/valid/737840.xml.err b/result/valid/737840.xml.err
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    45
new file mode 100644
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    46
index 0000000..e69de29
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    47
diff --git a/result/valid/737840.xml.err.rdr b/result/valid/737840.xml.err.rdr
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    48
new file mode 100644
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    49
index 0000000..e69de29
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    50
diff --git a/test/valid/737840.xml b/test/valid/737840.xml
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    51
new file mode 100644
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    52
index 0000000..2d27b73
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    53
--- /dev/null
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    54
+++ b/test/valid/737840.xml
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    55
@@ -0,0 +1,10 @@
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    56
+<!DOCTYPE root [
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    57
+<!ELEMENT root (elem)>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    58
+<!ELEMENT elem (#PCDATA)>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    59
+<!ATTLIST elem id ID #IMPLIED>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    60
+<!ENTITY target SYSTEM "dtds/737840.ent">
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    61
+]>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    62
+
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    63
+<root>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    64
+  &target;
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    65
+</root>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    66
diff --git a/test/valid/dtds/737840.ent b/test/valid/dtds/737840.ent
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    67
new file mode 100644
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    68
index 0000000..e972132
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    69
--- /dev/null
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    70
+++ b/test/valid/dtds/737840.ent
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    71
@@ -0,0 +1 @@
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    72
+<elem id="id0"/>
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    73
\ No newline at end of file
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    74
diff --git a/valid.c b/valid.c
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    75
index 409aa81..45a3f70 100644
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    76
--- a/valid.c
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    77
+++ b/valid.c
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    78
@@ -2634,8 +2634,10 @@ xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value,
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    79
 	/*
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    80
 	 * The id is already defined in this DTD.
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    81
 	 */
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    82
-	xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED,
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    83
-			"ID %s already defined\n", value, NULL, NULL);
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    84
+	if (ctxt != NULL) {
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    85
+	    xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED,
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    86
+			    "ID %s already defined\n", value, NULL, NULL);
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    87
+	}
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    88
 #endif /* LIBXML_VALID_ENABLED */
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    89
 	xmlFreeID(ret);
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    90
 	return(NULL);
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    91
-- 
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    92
cgit v0.11.2
4a5c8cc70bd0 22158519 libxml2 2.9.2 breaks libxslt tests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    93