From: Sterling Hughes Date: Mon, 24 Dec 2001 13:58:03 +0000 (+0000) Subject: Avoid a segfault when 0 bytes are returned from a website, and RETURNTRANSFER is... X-Git-Tag: PRE_ISSET_PATCH~425 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=85fa03aab3fff4b84928a6fcb55067d51e82f2e8;p=php Avoid a segfault when 0 bytes are returned from a website, and RETURNTRANSFER is enabled. --- diff --git a/ext/curl/curl.c b/ext/curl/curl.c index a67d0b2480..783ee20689 100644 --- a/ext/curl/curl.c +++ b/ext/curl/curl.c @@ -890,13 +890,13 @@ PHP_FUNCTION(curl_exec) error = curl_easy_perform(ch->cp); if (error != CURLE_OK) { - if (ch->handlers->write->buf.c) + if (ch->handlers->write->buf.len > 0) smart_str_free(&ch->handlers->write->buf); SAVE_CURL_ERROR(ch, error); RETURN_FALSE; } - if (ch->handlers->write->method == PHP_CURL_RETURN) { + if (ch->handlers->write->method == PHP_CURL_RETURN && ch->handlers->write->buf.len > 0) { if (ch->handlers->write->type != PHP_CURL_BINARY) smart_str_0(&ch->handlers->write->buf); RETURN_STRINGL(ch->handlers->write->buf.c, ch->handlers->write->buf.len, 0);