Annotation of embedaddon/php/ext/xmlrpc/tests/bug45556.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #45556 (Return value from callback isn't freed)
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: $options = array ();
! 9: $request = xmlrpc_encode_request ("system.describeMethods", $options);
! 10: $server = xmlrpc_server_create ();
! 11:
! 12:
! 13: function foo() { return 11111; }
! 14:
! 15: class bar {
! 16: static public function test() {
! 17: return 'foo';
! 18: }
! 19: }
! 20:
! 21: xmlrpc_server_register_introspection_callback($server, 'foobar');
! 22: xmlrpc_server_register_introspection_callback($server, array('bar', 'test'));
! 23: xmlrpc_server_register_introspection_callback($server, array('foo', 'bar'));
! 24:
! 25: $options = array ('output_type' => 'xml', 'version' => 'xmlrpc');
! 26: xmlrpc_server_call_method ($server, $request, NULL, $options);
! 27:
! 28: ?>
! 29: --EXPECTF--
! 30: Warning: xmlrpc_server_call_method(): Invalid callback 'foobar' passed in %s on line %d
! 31:
! 32: Warning: xmlrpc_server_call_method(): xml parse error: [line 1, column 1, message: Invalid document end] Unable to add introspection data returned from bar::test() in %s on line %d
! 33:
! 34: Warning: xmlrpc_server_call_method(): Invalid callback 'foo::bar' passed in %s on line %d
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>