dmitry          Fri Aug 31 08:07:28 2007 UTC

  Added files:                 (Branch: PHP_5_2)
    /php-src/ext/soap/tests/bugs        bug42326.phpt bug42326.wsdl 

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/soap   php_encoding.c 
  Log:
  Fixed bug #42326 (SoapServer crash)
  
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.917&r2=1.2027.2.547.2.918&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.917 php-src/NEWS:1.2027.2.547.2.918
--- php-src/NEWS:1.2027.2.547.2.917     Thu Aug 30 16:32:54 2007
+++ php-src/NEWS        Fri Aug 31 08:07:27 2007
@@ -7,6 +7,7 @@
   DOMElement). (Rob)
 - Fixed bug #42452 (PDO classes do not expose Reflection API information).
   (Hannes)
+- Fixed bug #42326 (SoapServer crash). (Dmitry)
 
 30 Aug 2007, PHP 5.2.4
 - Removed --enable-versioning configure option. (Jani)
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_encoding.c?r1=1.103.2.21.2.35&r2=1.103.2.21.2.36&diff_format=u
Index: php-src/ext/soap/php_encoding.c
diff -u php-src/ext/soap/php_encoding.c:1.103.2.21.2.35 
php-src/ext/soap/php_encoding.c:1.103.2.21.2.36
--- php-src/ext/soap/php_encoding.c:1.103.2.21.2.35     Wed Aug 22 14:18:09 2007
+++ php-src/ext/soap/php_encoding.c     Fri Aug 31 08:07:27 2007
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_encoding.c,v 1.103.2.21.2.35 2007/08/22 14:18:09 dmitry Exp $ */
+/* $Id: php_encoding.c,v 1.103.2.21.2.36 2007/08/31 08:07:27 dmitry Exp $ */
 
 #include <time.h>
 
@@ -357,7 +357,7 @@
        return 0;
 }
 
-xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr 
parent)
+static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, 
xmlNodePtr parent, int check_class_map)
 {
        xmlNodePtr node = NULL;
        TSRMLS_FETCH();
@@ -428,7 +428,7 @@
                        xmlSetNs(node, nsp);
                }
        } else {
-               if (SOAP_GLOBAL(class_map) && data &&
+               if (check_class_map && SOAP_GLOBAL(class_map) && data &&
                    Z_TYPE_P(data) == IS_OBJECT &&
                    !Z_OBJPROP_P(data)->nApplyCount) {
                        zend_class_entry *ce = Z_OBJCE_P(data);
@@ -489,6 +489,11 @@
        return node;
 }
 
+xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr 
parent)
+{
+       return master_to_xml_int(encode, data, style, parent, 1);
+}
+
 static zval *master_to_zval_int(encodePtr encode, xmlNodePtr data)
 {
        zval *ret = NULL;
@@ -2685,7 +2690,7 @@
        } else {
                enc = get_conversion(IS_NULL);
        }
-       ret = master_to_xml(enc, data, style, parent);
+       ret = master_to_xml_int(enc, data, style, parent, 0);
 /*
        if (style == SOAP_LITERAL && SOAP_GLOBAL(sdl)) {
                set_ns_and_type(ret, &enc->details);

http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug42326.phpt?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug42326.phpt
+++ php-src/ext/soap/tests/bugs/bug42326.phpt

http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug42326.wsdl?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug42326.wsdl
+++ php-src/ext/soap/tests/bugs/bug42326.wsdl

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

Reply via email to