diff options
author | Sterling Hughes <sterling@php.net> | 2001-12-24 13:58:03 +0000 |
---|---|---|
committer | Sterling Hughes <sterling@php.net> | 2001-12-24 13:58:03 +0000 |
commit | 85fa03aab3fff4b84928a6fcb55067d51e82f2e8 (patch) | |
tree | 5d245b1d35290e7c8a53405fac55cb8dd7e027a2 /ext/curl/curl.c | |
parent | 30b526bf7877d33038b0f28d4ec9cd5349cf79d5 (diff) | |
download | php-git-85fa03aab3fff4b84928a6fcb55067d51e82f2e8.tar.gz |
Avoid a segfault when 0 bytes are returned from a website, and RETURNTRANSFER is enabled.
Diffstat (limited to 'ext/curl/curl.c')
-rw-r--r-- | ext/curl/curl.c | 4 |
1 files changed, 2 insertions, 2 deletions
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); |