diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-08-17 12:00:39 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-08-17 12:00:39 +0000 |
commit | 06a5c70f4d0ebd31f267e6a18d5e8524871d89d4 (patch) | |
tree | 2de75271ee03f74084c5c26b604bb2fe7a822628 | |
parent | 62af3fb7b9fa2d04b613152188f706738a81486e (diff) |
Kjetil Jacobsen reported an open file leak in file:// transfers of empty
files.
-rw-r--r-- | CHANGES | 10 | ||||
-rw-r--r-- | lib/file.c | 8 |
2 files changed, 15 insertions, 3 deletions
@@ -6,6 +6,16 @@ Changelog +Daniel (17 August 2004) +- Kjetil Jacobsen noticed that when transferring a file:// URL pointing to an + empty file, libcurl would return with the file still open. + +- Alexander Krasnostavsky pointed out that the configure script needs to define + _THREAD_SAFE for AIX systems to make libcurl built really thread-safe. + + Also added a check for the xlc compiler on AIX, and if that is detect we use + the -qthreaded compiler option + Daniel (16 August 2004) - libcurl now allows a custom "Accept-Encoding:" header override the internally set one that gets set with CURLOPT_ENCODING. Pointed out by Alex. diff --git a/lib/file.c b/lib/file.c index 20cb918eb..57201d417 100644 --- a/lib/file.c +++ b/lib/file.c @@ -177,6 +177,9 @@ CURLcode Curl_file_done(struct connectdata *conn, (void)status; /* not used */ Curl_safefree(file->freepath); + if(file->fd != -1) + close(file->fd); + return CURLE_OK; } @@ -227,7 +230,7 @@ static CURLcode file_upload(struct connectdata *conn) int readcount; res = Curl_fillreadbuffer(conn, BUFSIZE, &readcount); if(res) - return res; + break; nread = (size_t)readcount; @@ -383,8 +386,7 @@ CURLcode Curl_file(struct connectdata *conn) if(Curl_pgrsUpdate(conn)) res = CURLE_ABORTED_BY_CALLBACK; - close(fd); - return res; } + #endif |