diff options
author | Dmitry Stogov <dmitry@php.net> | 2004-02-16 09:56:30 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2004-02-16 09:56:30 +0000 |
commit | 6aad56d4a224a15e7ad4fde337c7e04a9cd4863e (patch) | |
tree | 22891e7285940e5e20fafc25d628f146184eaf3e /ext/soap/php_encoding.c | |
parent | 6e06620089fc5f5970a082a313e31b36f55e7a12 (diff) | |
download | php-git-6aad56d4a224a15e7ad4fde337c7e04a9cd4863e.tar.gz |
fix: prevent of possible crash
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r-- | ext/soap/php_encoding.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 4138b5acb0..e33675125b 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1148,13 +1148,17 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo xmlNodePtr property; zval **zprop; char *str_key; + ulong index; + int key_type; - zend_hash_get_current_key(prop, &str_key, NULL, FALSE); + key_type = zend_hash_get_current_key(prop, &str_key, &index, FALSE); zend_hash_get_current_data(prop, (void **)&zprop); property = master_to_xml(get_conversion((*zprop)->type), (*zprop), style, xmlParam); - xmlNodeSetName(property, str_key); + if (key_type == HASH_KEY_IS_STRING) { + xmlNodeSetName(property, str_key); + } zend_hash_move_forward(prop); } } |