summaryrefslogtreecommitdiff
path: root/ext/xmlrpc/xmlrpc-epi-php.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2012-03-02 14:08:11 +0000
committerNikita Popov <nikic@php.net>2012-03-02 14:08:11 +0000
commit0dcff951828549bc7840a3de02daefcde485e335 (patch)
tree8d2c26724a705de44d05edfdc503cd1ee3529519 /ext/xmlrpc/xmlrpc-epi-php.c
parent503c94fc9a52227fd6c975ec98c92351c285c8f8 (diff)
downloadphp-git-0dcff951828549bc7840a3de02daefcde485e335.tar.gz
Merge: Fix bug #61097: Memory leak in xmlrpc functions copying zvals
Diffstat (limited to 'ext/xmlrpc/xmlrpc-epi-php.c')
-rw-r--r--ext/xmlrpc/xmlrpc-epi-php.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/ext/xmlrpc/xmlrpc-epi-php.c b/ext/xmlrpc/xmlrpc-epi-php.c
index 7fb97d21e1..13886c7537 100644
--- a/ext/xmlrpc/xmlrpc-epi-php.c
+++ b/ext/xmlrpc/xmlrpc-epi-php.c
@@ -1043,9 +1043,8 @@ PHP_FUNCTION(xmlrpc_server_register_method)
*/
if (XMLRPC_ServerRegisterMethod(server->server_ptr, method_key, php_xmlrpc_callback)) {
/* save for later use */
- MAKE_STD_ZVAL(method_name_save);
- *method_name_save = **method_name;
- zval_copy_ctor(method_name_save);
+ ALLOC_ZVAL(method_name_save);
+ MAKE_COPY_ZVAL(method_name, method_name_save);
/* register our php method */
add_zval(server->method_map, method_key, &method_name_save);
@@ -1073,9 +1072,8 @@ PHP_FUNCTION(xmlrpc_server_register_introspection_callback)
if (type == le_xmlrpc_server) {
/* save for later use */
- MAKE_STD_ZVAL(method_name_save);
- *method_name_save = **method_name;
- zval_copy_ctor(method_name_save);
+ ALLOC_ZVAL(method_name_save);
+ MAKE_COPY_ZVAL(method_name, method_name_save);
/* register our php method */
add_zval(server->introspection_map, NULL, &method_name_save);