Correct logic for cURL Errors, add extra sanity protection in ::processHeaders to guard against null inputs. See #16236

git-svn-id: http://svn.automattic.com/wordpress/trunk@17563 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
dd32 2011-03-26 03:32:05 +00:00
parent d5ef72234c
commit de498967ef
1 changed files with 3 additions and 3 deletions

View File

@ -359,7 +359,7 @@ class WP_Http {
$cookies = array(); $cookies = array();
$newheaders = array(); $newheaders = array();
foreach ( $headers as $tempheader ) { foreach ( (array) $headers as $tempheader ) {
if ( empty($tempheader) ) if ( empty($tempheader) )
continue; continue;
@ -1121,7 +1121,7 @@ class WP_Http_Curl {
* @access private * @access private
* @var string * @var string
*/ */
private $headers; private $headers = '';
/** /**
* Send a HTTP request to a URI using cURL extension. * Send a HTTP request to a URI using cURL extension.
@ -1259,7 +1259,7 @@ class WP_Http_Curl {
$theBody = $theResponse; $theBody = $theResponse;
// If no response, and It's not a HEAD request with valid headers returned // If no response, and It's not a HEAD request with valid headers returned
if ( empty($theResponse) && 'HEAD' != $args['method'] && ! empty($this->headers) ) { if ( empty($theResponse) && ('HEAD' != $args['method'] || empty($this->headers)) ) {
if ( $curl_error = curl_error($handle) ) if ( $curl_error = curl_error($handle) )
return new WP_Error('http_request_failed', $curl_error); return new WP_Error('http_request_failed', $curl_error);
if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array(301, 302) ) ) if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array(301, 302) ) )