]> granicus.if.org Git - php/commitdiff
Fixed possible crash
authorDmitry Stogov <dmitry@php.net>
Thu, 1 Apr 2004 14:05:55 +0000 (14:05 +0000)
committerDmitry Stogov <dmitry@php.net>
Thu, 1 Apr 2004 14:05:55 +0000 (14:05 +0000)
ext/soap/php_packet_soap.c

index 2fb8816a8c9063c97eeeadd0e8c5f198e4a52305..68cb83b77c79d33c1ec292adb02cc02889df7ca4 100644 (file)
@@ -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);
                }
        }