From de6ee4c24f91fe46678fe242f947c2657cc0ea73 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Sat, 19 Sep 2015 06:10:48 -0700 Subject: [PATCH] Fixed bug #70526 (xmlrpc_set_type returns false on success) --- NEWS | 2 ++ ext/xmlrpc/tests/bug70526.phpt | 14 ++++++++++++++ ext/xmlrpc/xmlrpc-epi-php.c | 4 ++-- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 ext/xmlrpc/tests/bug70526.phpt diff --git a/NEWS b/NEWS index 57b7a73c11..ac0d0506ef 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,8 @@ PHP NEWS . Fixed bug #70529 (Session read causes "String is not zero-terminated" error). (Yasuo) +- XMLRPC + . Fixed bug #70526 (xmlrpc_set_type returns false on success). (Laruence) 17 Sep 2015, PHP 7.0.0 RC 3 diff --git a/ext/xmlrpc/tests/bug70526.phpt b/ext/xmlrpc/tests/bug70526.phpt new file mode 100644 index 0000000000..6ed3e1b997 --- /dev/null +++ b/ext/xmlrpc/tests/bug70526.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #70526 (xmlrpc_set_type returns false on success) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) diff --git a/ext/xmlrpc/xmlrpc-epi-php.c b/ext/xmlrpc/xmlrpc-epi-php.c index 62bc39dba4..7dcae1b2f7 100644 --- a/ext/xmlrpc/xmlrpc-epi-php.c +++ b/ext/xmlrpc/xmlrpc-epi-php.c @@ -1283,7 +1283,7 @@ int set_zval_xmlrpc_type(zval* value, XMLRPC_VALUE_TYPE newtype) /* {{{ */ convert_to_object(value); if (zend_hash_str_update(Z_OBJPROP_P(value), OBJECT_TYPE_ATTR, sizeof(OBJECT_TYPE_ATTR) - 1, &type)) { - bSuccess = zend_hash_str_update(Z_OBJPROP_P(value), OBJECT_VALUE_TS_ATTR, sizeof(OBJECT_VALUE_TS_ATTR) - 1, &ztimestamp) != NULL; + bSuccess = (zend_hash_str_update(Z_OBJPROP_P(value), OBJECT_VALUE_TS_ATTR, sizeof(OBJECT_VALUE_TS_ATTR) - 1, &ztimestamp) != NULL)? SUCCESS : FAILURE; } } else { zval_ptr_dtor(&type); @@ -1294,7 +1294,7 @@ int set_zval_xmlrpc_type(zval* value, XMLRPC_VALUE_TYPE newtype) /* {{{ */ } } else { convert_to_object(value); - bSuccess = zend_hash_str_update(Z_OBJPROP_P(value), OBJECT_TYPE_ATTR, sizeof(OBJECT_TYPE_ATTR) - 1, &type) != NULL; + bSuccess = (zend_hash_str_update(Z_OBJPROP_P(value), OBJECT_TYPE_ATTR, sizeof(OBJECT_TYPE_ATTR) - 1, &type) != NULL)? SUCCESS : FAILURE; } } } -- 2.40.0