Skip to content
Browse files

Fix bug #61264: xmlrpc_parse_method_descriptions leaks temporary vari…

…able
  • Loading branch information...
1 parent 37d7df7 commit 3e7792aed7b6a8473e83bdb2417bbeefa009f65c @nikic nikic committed
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
@@ -73,6 +73,7 @@ PHP NEWS
- XMLRPC:
. Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic)
+ . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary variable). (Nikita Popov)
- Zlib:
. Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic)
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 3e7792a

Please sign in to comment.
Something went wrong with that request. Please try again.