From: Dmitry Stogov Date: Fri, 30 May 2014 07:12:03 +0000 (+0400) Subject: Avoid in-place modification X-Git-Tag: POST_PHPNG_MERGE~238 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45d7ab1a4c323c50bc5007cf826540e62693db8c;p=php Avoid in-place modification --- diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index f9f7452bf4..1bcfec361a 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -530,7 +530,12 @@ static int sxe_prop_dim_write(zval *object, zval *member, zval *value, zend_bool case IS_TRUE: case IS_DOUBLE: case IS_NULL: - convert_to_string(value); + if (Z_TYPE_P(value) != IS_STRING) { + ZVAL_DUP(&zval_copy, value); + value = &zval_copy; + convert_to_string(value); + new_value = 1; + } break; case IS_STRING: break;