summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2005-09-16 17:11:02 +0000
committerAntony Dovgal <tony2001@php.net>2005-09-16 17:11:02 +0000
commit4b9b5505f0923ef29962343319df988e6b4c1578 (patch)
treec7329ed675bcfee6dfee4b5183c076092318e613 /ext/soap/php_encoding.c
parentf43767b249f0bcf05582a75b7024e171f815c5db (diff)
downloadphp-git-4b9b5505f0923ef29962343319df988e6b4c1578.tar.gz
fix #34505 (possible memory corruption when unmangling properties with empty names)
2nd part
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index b53cf98937..02ac85480d 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1669,9 +1669,9 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo
zval **zprop;
char *str_key;
ulong index;
- int key_type;
+ int key_type, str_key_len;
- key_type = zend_hash_get_current_key(prop, &str_key, &index, FALSE);
+ key_type = zend_hash_get_current_key_ex(prop, &str_key, &str_key_len, &index, FALSE, NULL);
zend_hash_get_current_data(prop, (void **)&zprop);
property = master_to_xml(get_conversion((*zprop)->type), (*zprop), style, xmlParam);
@@ -1682,7 +1682,7 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo
if (Z_TYPE_P(data) == IS_OBJECT) {
char *class_name;
- zend_unmangle_property_name(str_key, &class_name, &prop_name);
+ zend_unmangle_property_name_ex(str_key, str_key_len, &class_name, &prop_name);
} else {
prop_name = str_key;
}