aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-08-17 12:00:39 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-08-17 12:00:39 +0000
commit06a5c70f4d0ebd31f267e6a18d5e8524871d89d4 (patch)
tree2de75271ee03f74084c5c26b604bb2fe7a822628
parent62af3fb7b9fa2d04b613152188f706738a81486e (diff)
Kjetil Jacobsen reported an open file leak in file:// transfers of empty
files.
-rw-r--r--CHANGES10
-rw-r--r--lib/file.c8
2 files changed, 15 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index b0b027589..10f2a7d66 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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