tony2001 Sun Mar 5 15:36:03 2006 UTC Modified files: (Branch: PHP_5_1) /php-src/ext/simplexml simplexml.c /php-src NEWS Log: fix #36611 (assignment to SimpleXML object attribute changes argument type to string) http://cvs.php.net/viewcvs.cgi/php-src/ext/simplexml/simplexml.c?r1=1.151.2.16&r2=1.151.2.17&diff_format=u Index: php-src/ext/simplexml/simplexml.c diff -u php-src/ext/simplexml/simplexml.c:1.151.2.16 php-src/ext/simplexml/simplexml.c:1.151.2.17 --- php-src/ext/simplexml/simplexml.c:1.151.2.16 Wed Mar 1 15:37:45 2006 +++ php-src/ext/simplexml/simplexml.c Sun Mar 5 15:36:03 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: simplexml.c,v 1.151.2.16 2006/03/01 15:37:45 rrichards Exp $ */ +/* $Id: simplexml.c,v 1.151.2.17 2006/03/05 15:36:03 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -408,7 +408,7 @@ int nodendx = 0; int test = 0; long cnt; - zval tmp_zv, trim_zv; + zval tmp_zv, trim_zv, value_copy; if (!member) { /* This happens when the user did: $sxe[] = $value @@ -475,6 +475,11 @@ case IS_BOOL: case IS_DOUBLE: case IS_NULL: + if (value->refcount > 1) { + value_copy = *value; + zval_copy_ctor(&value_copy); + value = &value_copy; + } convert_to_string(value); break; case IS_STRING: @@ -566,6 +571,9 @@ if (pnewnode) { *pnewnode = newnode; } + if (value && value == &value_copy) { + zval_dtor(value); + } } /* }}} */ @@ -2103,7 +2111,7 @@ { php_info_print_table_start(); php_info_print_table_header(2, "Simplexml support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.151.2.16 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.151.2.17 $"); php_info_print_table_row(2, "Schema support", #ifdef LIBXML_SCHEMAS_ENABLED "enabled"); http://cvs.php.net/viewcvs.cgi/php-src/NEWS?r1=1.2027.2.438&r2=1.2027.2.439&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.438 php-src/NEWS:1.2027.2.439 --- php-src/NEWS:1.2027.2.438 Sun Mar 5 13:35:52 2006 +++ php-src/NEWS Sun Mar 5 15:36:03 2006 @@ -36,6 +36,8 @@ - Fixed tiger hash algorithm generating wrong results on big endian platforms. (Mike) - Fixed crash with DOMImplementation::createDocumentType("name:"). (Mike) +- Fixed bug #36611 (assignment to SimpleXML object attribute changes argument + type to string). (Tony) - Fixed bug #36606 (pg_query_params() changes arguments type to string). (Tony) - Fixed bug #36599 (DATE_W3C format constant incorrect). (Derick) - Fixed bug #36575 (SOAP: Incorrect complex type instantiation with
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php