From: foobar Date: Fri, 26 Jul 2002 22:57:14 +0000 (+0000) Subject: - Fix bug: #18509, e.g. setting CURLOPT_BINARYTRANSFER succeeds always. X-Git-Tag: dev~142 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1e3622fcc5cbe35a4ffa6ee7b4bf7d2431dffc1;p=php - Fix bug: #18509, e.g. setting CURLOPT_BINARYTRANSFER succeeds always. - Also set the binary mode ONLY if the passed value is true.. --- diff --git a/ext/curl/curl.c b/ext/curl/curl.c index b88334217a..6c47a6daf9 100644 --- a/ext/curl/curl.c +++ b/ext/curl/curl.c @@ -614,9 +614,9 @@ PHP_FUNCTION(curl_setopt) **zoption, **zvalue; php_curl *ch; - CURLcode error; + CURLcode error=CURLE_OK; int option; - + if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &zid, &zoption, &zvalue) == FAILURE) { WRONG_PARAM_COUNT; @@ -744,7 +744,10 @@ PHP_FUNCTION(curl_setopt) break; case CURLOPT_BINARYTRANSFER: convert_to_long_ex(zvalue); - ch->handlers->write->type = PHP_CURL_BINARY; + + if (Z_LVAL_PP(zvalue)) { + ch->handlers->write->type = PHP_CURL_BINARY; + } break; case CURLOPT_WRITEFUNCTION: zval_add_ref(zvalue);