diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-05-30 11:12:03 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-05-30 11:12:03 +0400 |
commit | 45d7ab1a4c323c50bc5007cf826540e62693db8c (patch) | |
tree | d4942a0b54694df7c4fc267b99c3b2090156742a /ext/simplexml | |
parent | b3b616cf7ee0702aca2f6fdb022dc7e28e015a22 (diff) | |
download | php-git-45d7ab1a4c323c50bc5007cf826540e62693db8c.tar.gz |
Avoid in-place modification
Diffstat (limited to 'ext/simplexml')
-rw-r--r-- | ext/simplexml/simplexml.c | 7 |
1 files changed, 6 insertions, 1 deletions
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; |