Permalink
Browse files

Fix bug #61264: xmlrpc_parse_method_descriptions leaks temporary vari…

…able
  • Loading branch information...
1 parent e7810c1 commit 9b9f05fd6e6222df986ea4024cabef4677850147 @nikic nikic committed Mar 3, 2012
Showing with 19 additions and 2 deletions.
  1. +1 −0 NEWS
  2. +17 −0 ext/xmlrpc/tests/bug61264.phpt
  3. +1 −2 ext/xmlrpc/xmlrpc-epi-php.c
View
1 NEWS
@@ -48,6 +48,7 @@ PHP NEWS
- XMLRPC:
. Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikita Popov)
+ . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary variable). (Nikita Popov)
- Zlib:
. Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikita Popov)
View
17 ext/xmlrpc/tests/bug61264.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Bug #61264: xmlrpc_parse_method_descriptions leaks temporary variable
+--FILE--
+<?php
+$xml = <<<XML
+<?xml version="1.0" encoding="utf-8"?>
+<a>
+ <b>foo</b>
+</a>
+XML;
+var_dump(xmlrpc_parse_method_descriptions($xml));
+?>
+--EXPECT--
+array(1) {
+ ["b"]=>
+ string(3) "foo"
+}
View
3 ext/xmlrpc/xmlrpc-epi-php.c
@@ -1240,8 +1240,7 @@ PHP_FUNCTION(xmlrpc_parse_method_descriptions)
retval = XMLRPC_to_PHP(xVal);
if (retval) {
- *return_value = *retval;
- zval_copy_ctor(return_value);
+ RETVAL_ZVAL(retval, 1, 1);
}
/* dust, sweep, and mop */
XMLRPC_CleanupValue(xVal);

0 comments on commit 9b9f05f

Please sign in to comment.