components/libxml2/patches/17.CVE-2010-4008.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Mon, 23 Jul 2012 03:17:23 -0500
branchs11-sru
changeset 2313 cee15dd34514
permissions -rw-r--r--
7100337 Problem with library/libxml 7072501 Problem with library/libxml 7131703 Problem with library/libxml 7008726 Problem with library/libxml 7171310 Problem with library/libxml 7150804 Problem with library/libxml
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2313
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     1
There are 2 patches in a row to the same section of code here, they are copied/pasted
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     2
directly from:
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     3
http://git.gnome.org/browse/libxml2/patch/?id=91d19754d46acd4a639a8b9e31f50f31c78f8c9c
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     4
http://git.gnome.org/browse/libxml2/patch/?id=ea90b894146030c214a7df6d8375310174f134b9
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     5
--------------------------------------------------------------------------------------
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     6
From 91d19754d46acd4a639a8b9e31f50f31c78f8c9c Mon Sep 17 00:00:00 2001
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     7
From: Daniel Veillard <[email protected]>
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     8
Date: Fri, 15 Oct 2010 12:30:52 +0000
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     9
Subject: Fix the semantic of XPath axis for namespace/attribute context nodes
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    10
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    11
The processing of namespace and attributes nodes was not compliant
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    12
to the XPath-1.0 specification
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    13
---
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    14
diff --git a/xpath.c b/xpath.c
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    15
index b24ca69..8b77af3 100644
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    16
--- a/xpath.c
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    17
+++ b/xpath.c
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    18
@@ -8106,8 +8106,16 @@ xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    19
 xmlNodePtr
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    20
 xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    21
     if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    22
-    if (cur != NULL && cur->children != NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    23
-        return cur->children ;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    24
+    if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    25
+	(ctxt->context->node->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    26
+	return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    27
+    if (cur != NULL) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    28
+        if ((cur->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    29
+            (cur->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    30
+            return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    31
+        if (cur->children != NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    32
+            return cur->children ;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    33
+    }
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    34
     if (cur == NULL) cur = ctxt->context->node;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    35
     if (cur == NULL) return(NULL) ; /* ERROR */
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    36
     if (cur->next != NULL) return(cur->next) ;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    37
@@ -8162,6 +8170,9 @@ xmlNodePtr
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    38
 xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    39
 {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    40
     if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    41
+    if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    42
+	(ctxt->context->node->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    43
+	return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    44
     if (cur == NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    45
         cur = ctxt->context->node;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    46
     if (cur == NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    47
@@ -8203,12 +8214,13 @@ xmlXPathNextPrecedingInternal(xmlXPathParserContextPtr ctxt,
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    48
                               xmlNodePtr cur)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    49
 {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    50
     if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    51
+    if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    52
+	(ctxt->context->node->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    53
+	return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    54
     if (cur == NULL) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    55
         cur = ctxt->context->node;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    56
         if (cur == NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    57
             return (NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    58
-	if (cur->type == XML_NAMESPACE_DECL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    59
-	    cur = (xmlNodePtr)((xmlNsPtr)cur)->next;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    60
         ctxt->ancestor = cur->parent;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    61
     }
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    62
     if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    63
--
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    64
cgit v0.9.0.2
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    65
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    66
From ea90b894146030c214a7df6d8375310174f134b9 Mon Sep 17 00:00:00 2001
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    67
From: Daniel Veillard <[email protected]>
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    68
Date: Fri, 22 Oct 2010 13:50:50 +0000
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    69
Subject: Fix a change of semantic on XPath preceding and following axis
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    70
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    71
This was introduced in the prevous fix, while preceding-sibling and
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    72
following sibling axis are empty for attributes and namespaces,
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    73
preceding and following axis should still work based on the parent
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    74
element. However the parent element is not available for a namespace
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    75
node, so we keep the axis empty in that case.
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    76
---
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    77
diff --git a/xpath.c b/xpath.c
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    78
index 9d47618..3352a5e 100644
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    79
--- a/xpath.c
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    80
+++ b/xpath.c
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    81
@@ -8106,17 +8106,17 @@ xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    82
 xmlNodePtr
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    83
 xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    84
     if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    85
-    if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    86
-	(ctxt->context->node->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    87
-	return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    88
-    if (cur != NULL) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    89
-        if ((cur->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    90
-            (cur->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    91
+    if ((cur != NULL) && (cur->type  != XML_ATTRIBUTE_NODE) &&
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    92
+        (cur->type != XML_NAMESPACE_DECL) && (cur->children != NULL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    93
+        return(cur->children);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    94
+
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    95
+    if (cur == NULL) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    96
+        cur = ctxt->context->node;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    97
+        if (cur->type == XML_NAMESPACE_DECL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    98
             return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    99
-        if (cur->children != NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   100
-            return cur->children ;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   101
+        if (cur->type == XML_ATTRIBUTE_NODE)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   102
+            cur = cur->parent;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   103
     }
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   104
-    if (cur == NULL) cur = ctxt->context->node;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   105
     if (cur == NULL) return(NULL) ; /* ERROR */
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   106
     if (cur->next != NULL) return(cur->next) ;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   107
     do {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   108
@@ -8170,11 +8170,13 @@ xmlNodePtr
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   109
 xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   110
 {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   111
     if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   112
-    if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   113
-	(ctxt->context->node->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   114
-	return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   115
-    if (cur == NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   116
+    if (cur == NULL) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   117
         cur = ctxt->context->node;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   118
+        if (cur->type == XML_NAMESPACE_DECL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   119
+            return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   120
+        if (cur->type == XML_ATTRIBUTE_NODE)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   121
+            return(cur->parent);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   122
+    }
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   123
     if (cur == NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   124
 	return (NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   125
     if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   126
@@ -8214,13 +8216,12 @@ xmlXPathNextPrecedingInternal(xmlXPathParserContextPtr ctxt,
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   127
                               xmlNodePtr cur)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   128
 {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   129
     if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   130
-    if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   131
-	(ctxt->context->node->type == XML_NAMESPACE_DECL))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   132
-	return(NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   133
     if (cur == NULL) {
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   134
         cur = ctxt->context->node;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   135
         if (cur == NULL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   136
             return (NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   137
+        if (cur->type == XML_NAMESPACE_DECL)
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   138
+            return (NULL);
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   139
         ctxt->ancestor = cur->parent;
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   140
     }
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   141
     if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   142
--
cee15dd34514 7100337 Problem with library/libxml
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   143
cgit v0.9.0.2