diff options
author | Antony Dovgal <tony2001@php.net> | 2007-02-23 20:51:02 +0000 |
---|---|---|
committer | Antony Dovgal <tony2001@php.net> | 2007-02-23 20:51:02 +0000 |
commit | fa513e74ce154ff7c694a56cf7d5ae2beabd3b0d (patch) | |
tree | fd3d8247e3053e7f0db00e89fc62611cb3313026 /ext/curl/interface.c | |
parent | 9d3e446d80e3bb6c53d8a1cadd5a7c837fe929ee (diff) | |
download | php-git-fa513e74ce154ff7c694a56cf7d5ae2beabd3b0d.tar.gz |
MFH: fix leak
Diffstat (limited to 'ext/curl/interface.c')
-rw-r--r-- | ext/curl/interface.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 2759c6d1aa..424c98012e 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -715,7 +715,9 @@ static size_t curl_write(char *data, size_t size, size_t nmemb, void *ctx) case PHP_CURL_FILE: return fwrite(data, size, nmemb, t->fp); case PHP_CURL_RETURN: - smart_str_appendl(&t->buf, data, (int) length); + if (length > 0) { + smart_str_appendl(&t->buf, data, (int) length); + } break; case PHP_CURL_USER: { zval **argv[2]; @@ -854,7 +856,7 @@ static size_t curl_write_header(char *data, size_t size, size_t nmemb, void *ctx case PHP_CURL_STDOUT: /* Handle special case write when we're returning the entire transfer */ - if (ch->handlers->write->method == PHP_CURL_RETURN) { + if (ch->handlers->write->method == PHP_CURL_RETURN && length > 0) { smart_str_appendl(&ch->handlers->write->buf, data, (int) length); } else { PHPWRITE(data, length); |