diff options
author | Dmitry Stogov <dmitry@php.net> | 2004-04-01 14:05:55 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2004-04-01 14:05:55 +0000 |
commit | f712d46b5071e97ebfe43b07887e5aa850b0671c (patch) | |
tree | f8eea4cc2fe462b77affad2c0646b3eeba90caab /ext/soap/php_packet_soap.c | |
parent | 9dd0826623dc8433808fdbe384755318b1382e92 (diff) | |
download | php-git-f712d46b5071e97ebfe43b07887e5aa850b0671c.tar.gz |
Fixed possible crash
Diffstat (limited to 'ext/soap/php_packet_soap.c')
-rw-r--r-- | ext/soap/php_packet_soap.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c index 2fb8816a8c..68cb83b77c 100644 --- a/ext/soap/php_packet_soap.c +++ b/ext/soap/php_packet_soap.c @@ -332,14 +332,15 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction zval_dtor(return_value); ZVAL_NULL(return_value); } else if (param_count == 1) { - zval **tmp; + zval *tmp; zend_hash_internal_pointer_reset(Z_ARRVAL_P(return_value)); zend_hash_get_current_data(Z_ARRVAL_P(return_value), (void**)&tmp); - (*tmp)->refcount++; + tmp = *(zval**)tmp; + tmp->refcount++; zval_dtor(return_value); - *return_value = **tmp; - FREE_ZVAL(*tmp); + *return_value = *tmp; + FREE_ZVAL(tmp); } } |