Annotation of embedaddon/php/ext/xmlrpc/tests/bug47818.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #47818 (Segfault due to bound callback param)
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: class MyXmlRpc {
! 9: private $s;
! 10: private $method;
! 11:
! 12: function impl($method_name, $params, $user_data){
! 13: $this->method = $method_name;
! 14: print "Inside impl(): {$this->method}\n";
! 15: return array_sum($params);
! 16: }
! 17:
! 18: function __construct() {
! 19: $this->s = xmlrpc_server_create();
! 20: xmlrpc_server_register_method($this->s, 'add', array($this, 'impl'));
! 21: }
! 22:
! 23: function call($req) {
! 24: return xmlrpc_server_call_method($this->s, $req, null);
! 25: }
! 26:
! 27: function getMethod() {return $this->method;}
! 28:
! 29: }
! 30:
! 31: $x = new MyXmlRpc;
! 32: $resp = $x->call(xmlrpc_encode_request('add', array(1, 2, 3)));
! 33:
! 34: $method = $x->getMethod();
! 35:
! 36: print "Global scope: $method\n";
! 37:
! 38: ?>
! 39: --EXPECTF--
! 40: Inside impl(): add
! 41: Global scope: add
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>