aboutsummaryrefslogtreecommitdiff
path: root/lib
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 /lib
parent62af3fb7b9fa2d04b613152188f706738a81486e (diff)
Kjetil Jacobsen reported an open file leak in file:// transfers of empty
files.
Diffstat (limited to 'lib')
-rw-r--r--lib/file.c8
1 files changed, 5 insertions, 3 deletions
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