com php-src: Fixed bug #70526 (xmlrpc_set_type returns false on success): NEWS ext/xmlrpc/tests/bug7 0526.phpt ext/xmlrpc/xmlrpc-epi-php.c
| From: | Xinchen Hui | Date: | Sat, 19 Sep 2015 13:10:48 +0000 |
| Subject: | com php-src: Fixed bug #70526 (xmlrpc_set_type returns false on success): NEWS ext/xmlrpc/tests/bug7 0526.phpt ext/xmlrpc/xmlrpc-epi-php.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-89075@lists.php.net to get a copy of this message | ||
Commit: de6ee4c24f91fe46678fe242f947c2657cc0ea73
Author: Xinchen Hui <laruence@gmail.com> Sat, 19 Sep 2015 06:10:48 -0700
Parents: 8eadde40cdb1817d23c6aca01df69596877f69a3
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=de6ee4c24f91fe46678fe242f947c2657cc0ea73
Log:
Fixed bug #70526 (xmlrpc_set_type returns false on success)
Bugs:
https://bugs.php.net/70526
Changed paths:
M NEWS
A ext/xmlrpc/tests/bug70526.phpt
M ext/xmlrpc/xmlrpc-epi-php.c
Diff:
diff --git a/NEWS b/NEWS
index 57b7a73..ac0d050 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 0000000..6ed3e1b
--- /dev/null
+++ b/ext/xmlrpc/tests/bug70526.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #70526 (xmlrpc_set_type returns false on success)
+--SKIPIF--
+<?php
+if (!extension_loaded("xmlrpc")) print "skip";
+?>
+--FILE--
+<?php
+$params = date("Ymd\TH:i:s", time());
+$rv = xmlrpc_set_type($params, 'datetime');
+var_dump($rv);
+?>
+--EXPECT--
+bool(true)
diff --git a/ext/xmlrpc/xmlrpc-epi-php.c b/ext/xmlrpc/xmlrpc-epi-php.c
index 62bc39d..7dcae1b 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;
}
}
}