components/libxslt/patches/11-libxslt-Fix-a-dictionary-string-usage.patch
branchs11u1-sru
changeset 2471 b1f0e4a84df6
equal deleted inserted replaced
2469:0b02cc321ac6 2471:b1f0e4a84df6
       
     1 Taken as it's from:
       
     2 
       
     3 http://git.gnome.org/browse/libxslt/commit/?id=54977ed7966847e305a2008cb18892df26eeb065
       
     4 
       
     5 Heap-double-free in xmlFreeNodeList
       
     6 http://code.google.com/p/chromium/issues/detail?id=144799
       
     7 
       
     8 From 54977ed7966847e305a2008cb18892df26eeb065 Mon Sep 17 00:00:00 2001
       
     9 From: Chris Evans <[email protected]>
       
    10 Date: Mon, 03 Sep 2012 07:50:22 +0000
       
    11 Subject: Fix a dictionary string usage
       
    12 
       
    13 Raised in chromium, but also affecting xsltproc
       
    14 Also updated AUTHORS to list Chris and other contributors
       
    15 ---
       
    16 diff --git a/AUTHORS b/AUTHORS
       
    17 index 094ebbc..3a70a17 100644
       
    18 --- a/AUTHORS
       
    19 +++ b/AUTHORS
       
    20 @@ -5,7 +5,7 @@ Daniel Veillard:
       
    21     Used to work at W3C, now Red Hat
       
    22     co-chair of W3C XML Linking WG
       
    23     invited expert on the W3C XML Core WG
       
    24 -   Author of libxml upon which this library is based.
       
    25 +   Author of libxml2 upon which this library is based.
       
    26  
       
    27  Bjorn Reese:
       
    28     [email protected]
       
    29 @@ -18,3 +18,46 @@ William Brack <[email protected]>
       
    30  Thomas Broyer <[email protected]>
       
    31  
       
    32  Igor Zlatkovic <[email protected]> for the Windows port
       
    33 +
       
    34 +Patches gently provided by a multitude of people :
       
    35 +
       
    36 +Abhishek Arya <[email protected]>
       
    37 +Ben Walton <[email protected]>
       
    38 +Bjorn Reese <[email protected]>
       
    39 +C. M. Sperberg-McQueen <[email protected]>
       
    40 +Colin Walters <[email protected]>
       
    41 +Daniel Mustieles <[email protected]>
       
    42 +Daniel Richard G <[email protected]>
       
    43 +Darin Adler <[email protected]>
       
    44 +ÉRDI Gergo <[email protected]>
       
    45 +Fatih Demir <[email protected]>
       
    46 +Federico Mena Quintero <[email protected]>
       
    47 +Frederic Crozat <[email protected]>
       
    48 +Hao Hu <[email protected]>
       
    49 +Havoc Pennington <[email protected]>
       
    50 +IlyaS <[email protected]>
       
    51 +jacob berkman <[email protected]>
       
    52 +Jason Viers <[email protected]>
       
    53 +Jérôme Carretero <[email protected]>
       
    54 +Joachim Breitner <[email protected]>
       
    55 +Johan Dahlin <[email protected]>
       
    56 +John Fleck <[email protected]>
       
    57 +Jose Maria Celorio <[email protected]>
       
    58 +Julio M. Merino Vidal <[email protected]>
       
    59 +Kasimier T. Buchcik <[email protected]>
       
    60 +Kjartan Maraas <[email protected]>
       
    61 +Laurence Rowe <[email protected]>
       
    62 +Malcolm Purvis <[email protected]>
       
    63 +Martin <[email protected]>
       
    64 +MDT 2002 John Fleck <[email protected]>
       
    65 +Michael Bonfils <[email protected]>
       
    66 +money_seshu Dronamraju <[email protected]>
       
    67 +Nick Wellnhofer <[email protected]>
       
    68 +Nix <[email protected]>
       
    69 +Pedro F. Giffuni <[email protected]>
       
    70 +Peter Williams <[email protected]>
       
    71 +Rob Richards <[email protected]>
       
    72 +Roumen Petrov <[email protected]>
       
    73 +Stefan Kost <[email protected]>
       
    74 +Tomasz Kłoczko <[email protected]>
       
    75 +Chris Evans <[email protected]>
       
    76 diff --git a/libxslt/templates.c b/libxslt/templates.c
       
    77 index 169afd9..4804682 100644
       
    78 --- a/libxslt/templates.c
       
    79 +++ b/libxslt/templates.c
       
    80 @@ -18,6 +18,7 @@
       
    81  #include <libxml/globals.h>
       
    82  #include <libxml/xmlerror.h>
       
    83  #include <libxml/tree.h>
       
    84 +#include <libxml/dict.h>
       
    85  #include <libxml/xpathInternals.h>
       
    86  #include <libxml/parserInternals.h>
       
    87  #include "xslt.h"
       
    88 @@ -586,7 +587,8 @@ xsltAttrTemplateProcess(xsltTransformContextPtr ctxt, xmlNodePtr target,
       
    89  		}
       
    90  	    } else if ((ctxt->internalized) && (target != NULL) &&
       
    91  	               (target->doc != NULL) &&
       
    92 -		       (target->doc->dict == ctxt->dict)) {
       
    93 +		       (target->doc->dict == ctxt->dict) &&
       
    94 +		       xmlDictOwns(ctxt->dict, value)) {
       
    95  		text->content = (xmlChar *) value;
       
    96  	    } else {
       
    97  		text->content = xmlStrdup(value);
       
    98 @@ -772,7 +774,8 @@ xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt,
       
    99  		}
       
   100  	    } else if ((ctxt->internalized) &&
       
   101  		(target->doc != NULL) &&
       
   102 -		(target->doc->dict == ctxt->dict))
       
   103 +		(target->doc->dict == ctxt->dict) &&
       
   104 +		xmlDictOwns(ctxt->dict, value))
       
   105  	    {
       
   106  		text->content = (xmlChar *) value;
       
   107  	    } else {
       
   108 --
       
   109 cgit v0.9.0.2