components/libxslt/patches/05-libxslt-Fix-default-template-processing-on-namespace-nodes.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Mon, 21 Jan 2013 03:30:38 -0800
branchs11u1-sru
changeset 2471 b1f0e4a84df6
permissions -rw-r--r--
15807903 problem in LIBRARY/LIBXSLT
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2471
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     1
Taken as it's from:
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     2
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     3
http://git.gnome.org/browse/libxslt/commit/?id=937ba2a3eb42d288f53c8adc211bd1122869f0bf
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     4
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     5
For https://bugzilla.redhat.com/show_bug.cgi?id=852935
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     6
CVE-2012-2871
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     7
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     8
From 937ba2a3eb42d288f53c8adc211bd1122869f0bf Mon Sep 17 00:00:00 2001
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     9
From: Daniel Veillard <[email protected]>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    10
Date: Wed, 08 Aug 2012 07:31:05 +0000
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    11
Subject: Fix default template processing on namespace nodes
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    12
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    13
---
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    14
diff --git a/libxslt/transform.c b/libxslt/transform.c
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    15
index 53eefcc..c6df19e 100644
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    16
--- a/libxslt/transform.c
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    17
+++ b/libxslt/transform.c
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    18
@@ -4895,7 +4895,10 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    19
 	list = xmlXPathNodeSetCreate(NULL);
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    20
 	if (list == NULL)
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    21
 	    goto error;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    22
-	cur = node->children;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    23
+	if (node->type != XML_NAMESPACE_DECL)
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    24
+	    cur = node->children;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    25
+	else
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    26
+	    cur = NULL;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    27
 	while (cur != NULL) {
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    28
 	    switch (cur->type) {
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    29
 		case XML_TEXT_NODE:
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    30
@@ -4944,6 +4947,8 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    31
 		    if (cur->prev != NULL)
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    32
 			cur->prev->next = cur->next;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    33
 		    break;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    34
+		case XML_NAMESPACE_DECL:
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    35
+		    break;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    36
 		default:
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    37
 #ifdef WITH_XSLT_DEBUG_PROCESS
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    38
 		    XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    39
--
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    40
cgit v0.9.0.2