author | mmhunter@s11sru-x01.us.oracle.com |
Tue, 07 May 2013 10:23:59 -0700 | |
branch | s11u1-sru |
changeset 2610 | 37b9db3f8401 |
parent 2471 | b1f0e4a84df6 |
permissions | -rw-r--r-- |
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=24653072221e76d2f1f06aa71225229b532f8946 |
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 |
Followup on CVE-2012-2870 |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
6 |
|
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
7 |
From 24653072221e76d2f1f06aa71225229b532f8946 Mon Sep 17 00:00:00 2001 |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
8 |
From: Daniel Veillard <[email protected]> |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
9 |
Date: Thu, 16 Aug 2012 07:51:35 +0000 |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
10 |
Subject: Hardening of code checking node types in EXSLT |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
11 |
|
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 |
diff --git a/libexslt/functions.c b/libexslt/functions.c |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
14 |
index 13fd06e..4c68cea 100644 |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
15 |
--- a/libexslt/functions.c |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
16 |
+++ b/libexslt/functions.c |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
17 |
@@ -459,10 +459,9 @@ exsltFuncFunctionComp (xsltStylesheetPtr style, xmlNodePtr inst) { |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
18 |
xmlHashTablePtr data; |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
19 |
exsltFuncFunctionData *func; |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
20 |
|
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
21 |
- if ((style == NULL) || (inst == NULL)) |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
22 |
+ if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE)) |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
23 |
return; |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
24 |
|
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
25 |
- |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
26 |
{ |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
27 |
xmlChar *qname; |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
28 |
|
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
29 |
@@ -546,6 +545,9 @@ exsltFuncResultComp (xsltStylesheetPtr style, xmlNodePtr inst, |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
30 |
xmlChar *sel; |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
31 |
exsltFuncResultPreComp *ret; |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
32 |
|
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
33 |
+ if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE)) |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
34 |
+ return (NULL); |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
35 |
+ |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
36 |
/* |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
37 |
* "Validity" checking |
b1f0e4a84df6
15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
38 |
*/ |
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 |