From 2c3b7385bf88c0ae9ad3647a2ad6d257a39a94ad Mon Sep 17 00:00:00 2001 From: foobar Date: Fri, 16 Feb 2001 14:31:37 +0000 Subject: [PATCH] Fixed a typo in constant definitions and a possible crash in curl_setopt(). # pr: #9181 --- ext/curl/curl.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ext/curl/curl.c b/ext/curl/curl.c index 8121a933cf..5fe8dcbace 100644 --- a/ext/curl/curl.c +++ b/ext/curl/curl.c @@ -140,7 +140,7 @@ PHP_MINIT_FUNCTION(curl) REGISTER_LONG_CONSTANT("CURLOPT_PROXY", CURLOPT_PROXY, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_VERBOSE", CURLOPT_VERBOSE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_HEADER", CURLOPT_HEADER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTPHEADER", CURLOPT_HEADER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPHEADER", CURLOPT_HTTPHEADER, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_NOPROGRESS", CURLOPT_NOPROGRESS, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_NOBODY", CURLOPT_NOBODY, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_FAILONERROR", CURLOPT_FAILONERROR, CONST_CS | CONST_PERSISTENT); @@ -381,7 +381,9 @@ PHP_FUNCTION(curl_setopt) } break; - case CURLOPT_FILE: case CURLOPT_INFILE: case CURLOPT_WRITEHEADER: + case CURLOPT_FILE: + case CURLOPT_INFILE: + case CURLOPT_WRITEHEADER: case CURLOPT_STDERR: { @@ -412,6 +414,7 @@ PHP_FUNCTION(curl_setopt) zval **current; HashTable *u_post = HASH_OF(*curl_value); + struct HttpPost *first = NULL, *last = NULL; @@ -481,11 +484,12 @@ PHP_FUNCTION(curl_setopt) HashTable *headers = HASH_OF(*curl_value); struct curl_slist *header = NULL; - header = (struct curl_slist *)emalloc(sizeof(struct curl_slist)); - if (!header) { - php_error(E_WARNING, "Couldn't allocate header list from %s()", get_active_function_name()); + if (!headers) { RETURN_FALSE; } + + header = (struct curl_slist *)emalloc(sizeof(struct curl_slist)); + memset(header, 0, sizeof(struct curl_slist)); for (zend_hash_internal_pointer_reset(headers); @@ -518,6 +522,10 @@ PHP_FUNCTION(curl_setopt) HashTable *php_commands = HASH_OF(*curl_value); struct curl_slist *commands = NULL; + if (!php_commands) { + RETURN_FALSE; + } + commands = (struct curl_slist *)emalloc(sizeof(struct curl_slist)); if (!commands) { php_error(E_WARNING, "Couldn't allocate command list from %s()", get_active_function_name()); -- 2.40.0