Skip to content

Commit d8a361b

Browse files
author
foobar
committed
Fixed bug: php#17732.
xmlrpc_decode_request() and xmlrpc_set_type() expect some parameters to be passed by reference.
1 parent b9637a0 commit d8a361b

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

ext/rpc/xmlrpc/xmlrpc-epi-php.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,16 @@ ZEND_DECLARE_MODULE_GLOBALS(xmlrpc)
7777

7878
static int le_xmlrpc_server;
7979

80+
static unsigned char second_arg_force_ref[] = { 3, BYREF_NONE, BYREF_FORCE, BYREF_NONE };
81+
static unsigned char first_arg_force_ref[] = { 2, BYREF_FORCE, BYREF_NONE };
82+
8083
function_entry xmlrpc_functions[] = {
8184
PHP_FE(xmlrpc_encode, NULL)
8285
PHP_FE(xmlrpc_decode, NULL)
83-
PHP_FE(xmlrpc_decode_request, NULL)
86+
PHP_FE(xmlrpc_decode_request, second_arg_force_ref)
8487
PHP_FE(xmlrpc_encode_request, NULL)
8588
PHP_FE(xmlrpc_get_type, NULL)
86-
PHP_FE(xmlrpc_set_type, NULL)
89+
PHP_FE(xmlrpc_set_type, first_arg_force_ref)
8790
PHP_FE(xmlrpc_server_create, NULL)
8891
PHP_FE(xmlrpc_server_destroy, NULL)
8992
PHP_FE(xmlrpc_server_register_method, NULL)

ext/xmlrpc/xmlrpc-epi-php.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,16 @@ ZEND_DECLARE_MODULE_GLOBALS(xmlrpc)
7777

7878
static int le_xmlrpc_server;
7979

80+
static unsigned char second_arg_force_ref[] = { 3, BYREF_NONE, BYREF_FORCE, BYREF_NONE };
81+
static unsigned char first_arg_force_ref[] = { 2, BYREF_FORCE, BYREF_NONE };
82+
8083
function_entry xmlrpc_functions[] = {
8184
PHP_FE(xmlrpc_encode, NULL)
8285
PHP_FE(xmlrpc_decode, NULL)
83-
PHP_FE(xmlrpc_decode_request, NULL)
86+
PHP_FE(xmlrpc_decode_request, second_arg_force_ref)
8487
PHP_FE(xmlrpc_encode_request, NULL)
8588
PHP_FE(xmlrpc_get_type, NULL)
86-
PHP_FE(xmlrpc_set_type, NULL)
89+
PHP_FE(xmlrpc_set_type, first_arg_force_ref)
8790
PHP_FE(xmlrpc_server_create, NULL)
8891
PHP_FE(xmlrpc_server_destroy, NULL)
8992
PHP_FE(xmlrpc_server_register_method, NULL)

0 commit comments

Comments
 (0)