diff options
author | Antony Dovgal <tony2001@php.net> | 2005-09-16 17:11:02 +0000 |
---|---|---|
committer | Antony Dovgal <tony2001@php.net> | 2005-09-16 17:11:02 +0000 |
commit | 4b9b5505f0923ef29962343319df988e6b4c1578 (patch) | |
tree | c7329ed675bcfee6dfee4b5183c076092318e613 /ext/soap/php_encoding.c | |
parent | f43767b249f0bcf05582a75b7024e171f815c5db (diff) | |
download | php-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.c | 6 |
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; } |