cvs: php4 /ext/curl curl.c
| From: | Sterling Hughes | Date: | Mon, 24 Dec 2001 13:58:03 +0000 |
| Subject: | cvs: php4 /ext/curl curl.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-8800@lists.php.net to get a copy of this message | ||
sterling Mon Dec 24 08:58:03 2001 EDT
Modified files:
/php4/ext/curl curl.c
Log:
Avoid a segfault when 0 bytes are returned from a website, and RETURNTRANSFER is enabled.
Index: php4/ext/curl/curl.c
diff -u php4/ext/curl/curl.c:1.102 php4/ext/curl/curl.c:1.103
--- php4/ext/curl/curl.c:1.102 Tue Dec 11 10:28:57 2001
+++ php4/ext/curl/curl.c Mon Dec 24 08:58:03 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: curl.c,v 1.102 2001/12/11 15:28:57 sebastian Exp $ */
+/* $Id: curl.c,v 1.103 2001/12/24 13:58:03 sterling Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -890,13 +890,13 @@
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);