rrichards               Fri Aug 13 07:38:04 2004 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/domxml php_domxml.h php_domxml.c 
  Log:
  Fixed bug #29599 (domxml_error segfaults another apache module)
  
http://cvs.php.net/diff.php/php-src/ext/domxml/php_domxml.h?r1=1.72.4.5&r2=1.72.4.6&ty=u
Index: php-src/ext/domxml/php_domxml.h
diff -u php-src/ext/domxml/php_domxml.h:1.72.4.5 
php-src/ext/domxml/php_domxml.h:1.72.4.6
--- php-src/ext/domxml/php_domxml.h:1.72.4.5    Fri Sep 26 12:33:58 2003
+++ php-src/ext/domxml/php_domxml.h     Fri Aug 13 07:38:03 2004
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_domxml.h,v 1.72.4.5 2003/09/26 16:33:58 moriyoshi Exp $ */
+/* $Id: php_domxml.h,v 1.72.4.6 2004/08/13 11:38:03 rrichards Exp $ */
 
 #ifndef PHP_DOMXML_H
 #define PHP_DOMXML_H
@@ -75,6 +75,8 @@
 /* directory functions */
 PHP_MINIT_FUNCTION(domxml);
 PHP_MSHUTDOWN_FUNCTION(domxml);
+PHP_RINIT_FUNCTION(domxml);
+PHP_RSHUTDOWN_FUNCTION(domxml);
 PHP_MINFO_FUNCTION(domxml);
 PHP_FUNCTION(domxml_version);
 PHP_FUNCTION(xmldoc);
http://cvs.php.net/diff.php/php-src/ext/domxml/php_domxml.c?r1=1.218.2.47&r2=1.218.2.48&ty=u
Index: php-src/ext/domxml/php_domxml.c
diff -u php-src/ext/domxml/php_domxml.c:1.218.2.47 
php-src/ext/domxml/php_domxml.c:1.218.2.48
--- php-src/ext/domxml/php_domxml.c:1.218.2.47  Sat Jun 19 11:09:46 2004
+++ php-src/ext/domxml/php_domxml.c     Fri Aug 13 07:38:03 2004
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_domxml.c,v 1.218.2.47 2004/06/19 15:09:46 sesser Exp $ */
+/* $Id: php_domxml.c,v 1.218.2.48 2004/08/13 11:38:03 rrichards Exp $ */
 
 /* TODO
  * - Support Notation Nodes
@@ -540,8 +540,8 @@
        domxml_functions,
        PHP_MINIT(domxml),
        PHP_MSHUTDOWN(domxml),
-       NULL,
-       NULL,
+       PHP_RINIT(domxml),
+       PHP_RSHUTDOWN(domxml),
        PHP_MINFO(domxml),
        DOMXML_API_VERSION, /* Extension versionnumber */
        STANDARD_MODULE_PROPERTIES
@@ -1510,6 +1510,24 @@
        
 }
 
+PHP_RINIT_FUNCTION(domxml)
+{
+       xmlSetGenericErrorFunc(xmlGenericErrorContext, 
(xmlGenericErrorFunc)domxml_error);
+#if HAVE_DOMXSLT
+       xsltSetGenericErrorFunc(xsltGenericErrorContext, 
(xmlGenericErrorFunc)domxml_error);
+#endif
+       return SUCCESS;
+}
+
+PHP_RSHUTDOWN_FUNCTION(domxml)
+{
+       xmlSetGenericErrorFunc(xmlGenericErrorContext, NULL);
+#if HAVE_DOMXSLT
+       xsltSetGenericErrorFunc(xsltGenericErrorContext, NULL);
+#endif
+       return SUCCESS;
+}
+
 PHP_MSHUTDOWN_FUNCTION(domxml)
 {
 #if HAVE_DOMXSLT
@@ -1668,15 +1686,9 @@
        REGISTER_LONG_CONSTANT("DOMXML_LOAD_SUBSTITUTE_ENTITIES",       
DOMXML_LOAD_SUBSTITUTE_ENTITIES,                CONST_CS | CONST_PERSISTENT);
        
REGISTER_LONG_CONSTANT("DOMXML_LOAD_COMPLETE_ATTRS",DOMXML_LOAD_COMPLETE_ATTRS,        
 CONST_CS | CONST_PERSISTENT);
        
REGISTER_LONG_CONSTANT("DOMXML_LOAD_DONT_KEEP_BLANKS",DOMXML_LOAD_DONT_KEEP_BLANKS,    
         CONST_CS | CONST_PERSISTENT);
-       xmlSetGenericErrorFunc(xmlGenericErrorContext, 
(xmlGenericErrorFunc)domxml_error);
-#if (defined(LIBXML_THREAD_ENABLED) && LIBXML_VERSION >= 20511)
-       xmlThrDefSetGenericErrorFunc(xmlGenericErrorContext, 
(xmlGenericErrorFunc)domxml_error);
-#endif
-#if HAVE_DOMXSLT
-       xsltSetGenericErrorFunc(xsltGenericErrorContext, 
(xmlGenericErrorFunc)domxml_error);
-#if HAVE_DOMEXSLT
+
+#if HAVE_DOMXSLT && HAVE_DOMEXSLT
        exsltRegisterAll();
-#endif
 #endif
        xmlInitParser();
        return SUCCESS;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to