From: Andrei Zmievski Date: Sat, 6 Apr 2002 03:50:28 +0000 (+0000) Subject: - Fixed a leak in xml_decode(). X-Git-Tag: php-4.3.0dev-ZendEngine2-Preview1~849 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0141256493200e24051eeb3a04e3c05235c1f099;p=php - Fixed a leak in xml_decode(). - Fixed it so it's possible to compile as a shared extension. --- diff --git a/ext/rpc/xmlrpc/config.m4 b/ext/rpc/xmlrpc/config.m4 index 2b6b883756..5da82a76be 100644 --- a/ext/rpc/xmlrpc/config.m4 +++ b/ext/rpc/xmlrpc/config.m4 @@ -10,6 +10,8 @@ sinclude(libxmlrpc/xmlrpc.m4) PHP_ARG_WITH(xmlrpc, for XMLRPC-EPI support, [ --with-xmlrpc[=DIR] Include XMLRPC-EPI support.]) +xmlrpc_ext_shared=$ext_shared + PHP_ARG_WITH(expat-dir, libexpat dir for XMLRPC-EPI, [ --with-expat-dir=DIR XMLRPC-EPI: libexpat dir for XMLRPC-EPI.]) @@ -48,7 +50,7 @@ if test "$PHP_XMLRPC" = "yes"; then libxmlrpc/xmlrpc_introspection.c libxmlrpc/encodings.c \ libxmlrpc/system_methods.c libxmlrpc/xml_to_xmlrpc.c \ libxmlrpc/queue.c libxmlrpc/xml_element.c libxmlrpc/xmlrpc.c \ - libxmlrpc/xml_to_soap.c,$ext_shared,, + libxmlrpc/xml_to_soap.c,$xmlrpc_ext_shared,, -I@ext_srcdir@/libxmlrpc -DVERSION="0.50") PHP_ADD_BUILD_DIR($ext_builddir/libxmlrpc) XMLRPC_MODULE_TYPE=builtin diff --git a/ext/rpc/xmlrpc/xmlrpc-epi-php.c b/ext/rpc/xmlrpc/xmlrpc-epi-php.c index cfb4bd33c6..8e51d2e6a5 100644 --- a/ext/rpc/xmlrpc/xmlrpc-epi-php.c +++ b/ext/rpc/xmlrpc/xmlrpc-epi-php.c @@ -776,7 +776,7 @@ PHP_FUNCTION(xmlrpc_decode) zval* retval = decode_request_worker(arg1, arg2, NULL); if(retval) { *return_value = *retval; - zval_copy_ctor(return_value); + FREE_ZVAL(retval); } } } diff --git a/ext/xmlrpc/config.m4 b/ext/xmlrpc/config.m4 index 2b6b883756..5da82a76be 100644 --- a/ext/xmlrpc/config.m4 +++ b/ext/xmlrpc/config.m4 @@ -10,6 +10,8 @@ sinclude(libxmlrpc/xmlrpc.m4) PHP_ARG_WITH(xmlrpc, for XMLRPC-EPI support, [ --with-xmlrpc[=DIR] Include XMLRPC-EPI support.]) +xmlrpc_ext_shared=$ext_shared + PHP_ARG_WITH(expat-dir, libexpat dir for XMLRPC-EPI, [ --with-expat-dir=DIR XMLRPC-EPI: libexpat dir for XMLRPC-EPI.]) @@ -48,7 +50,7 @@ if test "$PHP_XMLRPC" = "yes"; then libxmlrpc/xmlrpc_introspection.c libxmlrpc/encodings.c \ libxmlrpc/system_methods.c libxmlrpc/xml_to_xmlrpc.c \ libxmlrpc/queue.c libxmlrpc/xml_element.c libxmlrpc/xmlrpc.c \ - libxmlrpc/xml_to_soap.c,$ext_shared,, + libxmlrpc/xml_to_soap.c,$xmlrpc_ext_shared,, -I@ext_srcdir@/libxmlrpc -DVERSION="0.50") PHP_ADD_BUILD_DIR($ext_builddir/libxmlrpc) XMLRPC_MODULE_TYPE=builtin diff --git a/ext/xmlrpc/xmlrpc-epi-php.c b/ext/xmlrpc/xmlrpc-epi-php.c index cfb4bd33c6..8e51d2e6a5 100644 --- a/ext/xmlrpc/xmlrpc-epi-php.c +++ b/ext/xmlrpc/xmlrpc-epi-php.c @@ -776,7 +776,7 @@ PHP_FUNCTION(xmlrpc_decode) zval* retval = decode_request_worker(arg1, arg2, NULL); if(retval) { *return_value = *retval; - zval_copy_ctor(return_value); + FREE_ZVAL(retval); } } }