From 43cd3f68143eb6b35e19605855dac45db4007fc1 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 26 Jun 2020 12:26:46 +0200 Subject: [PATCH] Fixed bug #79741 --- NEWS | 4 ++++ ext/curl/interface.c | 4 ++-- ext/curl/tests/bug79741.phpt | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 ext/curl/tests/bug79741.phpt diff --git a/NEWS b/NEWS index eb71c9f984..c5051c26a4 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,10 @@ PHP NEWS . Fixed bug #79030 (Upgrade apache2handler's php_apache_sapi_get_request_time to return usec). (Herbert256) +- Curl: + . Fixed bug #79741 (curl_setopt CURLOPT_POSTFIELDS asserts on object with + declared properties). (Nikita) + - FTP: . Fixed bug #55857 (ftp_size on large files). (cmb) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 630d3b0a89..ebe01a9d8d 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2719,7 +2719,7 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{ return FAILURE; } - ZEND_HASH_FOREACH_VAL(ph, current) { + ZEND_HASH_FOREACH_VAL_IND(ph, current) { ZVAL_DEREF(current); val = zval_get_tmp_string(current, &tmp_val); slist = curl_slist_append(slist, ZSTR_VAL(val)); @@ -2797,7 +2797,7 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{ } #endif - ZEND_HASH_FOREACH_KEY_VAL(postfields, num_key, string_key, current) { + ZEND_HASH_FOREACH_KEY_VAL_IND(postfields, num_key, string_key, current) { zend_string *postval, *tmp_postval; /* Pretend we have a string_key here */ if (!string_key) { diff --git a/ext/curl/tests/bug79741.phpt b/ext/curl/tests/bug79741.phpt new file mode 100644 index 0000000000..17c3f57e04 --- /dev/null +++ b/ext/curl/tests/bug79741.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #79741: curl_setopt CURLOPT_POSTFIELDS asserts on object with declared properties +--FILE-- + +===DONE=== +--EXPECT-- +===DONE=== -- 2.49.0