com php-src: Fixed bug #71225 (curl_setopt() fails to set CURLOPT_POSTFIELDS with reference to CURLF ile): NEWS ext/curl/interface.c
| From: | Xinchen Hui | Date: | Sun, 27 Dec 2015 06:55:38 +0000 |
| Subject: | com php-src: Fixed bug #71225 (curl_setopt() fails to set CURLOPT_POSTFIELDS with reference to CURLF ile): NEWS ext/curl/interface.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-90471@lists.php.net to get a copy of this message | ||
Commit: 2453a48ab56f25c0900a5baa917cedc88db8e3e1
Author: Xinchen Hui <laruence@gmail.com> Sat, 26 Dec 2015 22:54:39 -0800
Parents: 60f5c9f87f2d1935fe2c698a3427cca6798ed713
Branches: PHP-7.0 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2453a48ab56f25c0900a5baa917cedc88db8e3e1
Log:
Fixed bug #71225 (curl_setopt() fails to set CURLOPT_POSTFIELDS with reference to CURLFile)
Bugs:
https://bugs.php.net/71225
Changed paths:
M NEWS
M ext/curl/interface.c
Diff:
diff --git a/NEWS b/NEWS
index 932dd4a..fdabff6 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,11 @@ PHP NEWS
. Fixed bug #71201 (round() segfault on 64-bit builds). (Anatol)
. Added support for new HTTP 451 code. (Julien)
+- CURL:
+ . Fixed bug #71225 (curl_setopt() fails to set CURLOPT_POSTFIELDS with
+ reference to CURLFile). (Laruence)
+
+
- SPL:
. Fixed bug #71204 (segfault if clean spl_autoload_funcs while autoloading).
(Laruence)
diff --git a/ext/curl/interface.c b/ext/curl/interface.c
index 7dd04a6..8ab850f 100644
--- a/ext/curl/interface.c
+++ b/ext/curl/interface.c
@@ -2019,6 +2019,7 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /*
{{{
CURLcode error = CURLE_OK;
zend_long lval;
+ ZVAL_DEREF(zvalue);
switch (option) {
/* Long options */
case CURLOPT_SSL_VERIFYHOST:
@@ -2464,6 +2465,7 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /*
{{{
}
ZEND_HASH_FOREACH_VAL(ph, current) {
+ ZVAL_DEREF(current);
val = zval_get_string(current);
slist = curl_slist_append(slist, ZSTR_VAL(val));
zend_string_release(val);
@@ -2531,6 +2533,7 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /*
{{{
zend_string_addref(string_key);
}
+ ZVAL_DEREF(current);
if (Z_TYPE_P(current) == IS_OBJECT &&
instanceof_function(Z_OBJCE_P(current), curl_CURLFile_class)) {
/* new-style file upload */