mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
Kjetil Jacobsen reported an open file leak in file:// transfers of empty
files.
This commit is contained in:
parent
62af3fb7b9
commit
06a5c70f4d
10
CHANGES
10
CHANGES
@ -6,6 +6,16 @@
|
|||||||
|
|
||||||
Changelog
|
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)
|
Daniel (16 August 2004)
|
||||||
- libcurl now allows a custom "Accept-Encoding:" header override the
|
- libcurl now allows a custom "Accept-Encoding:" header override the
|
||||||
internally set one that gets set with CURLOPT_ENCODING. Pointed out by Alex.
|
internally set one that gets set with CURLOPT_ENCODING. Pointed out by Alex.
|
||||||
|
@ -177,6 +177,9 @@ CURLcode Curl_file_done(struct connectdata *conn,
|
|||||||
(void)status; /* not used */
|
(void)status; /* not used */
|
||||||
Curl_safefree(file->freepath);
|
Curl_safefree(file->freepath);
|
||||||
|
|
||||||
|
if(file->fd != -1)
|
||||||
|
close(file->fd);
|
||||||
|
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +230,7 @@ static CURLcode file_upload(struct connectdata *conn)
|
|||||||
int readcount;
|
int readcount;
|
||||||
res = Curl_fillreadbuffer(conn, BUFSIZE, &readcount);
|
res = Curl_fillreadbuffer(conn, BUFSIZE, &readcount);
|
||||||
if(res)
|
if(res)
|
||||||
return res;
|
break;
|
||||||
|
|
||||||
nread = (size_t)readcount;
|
nread = (size_t)readcount;
|
||||||
|
|
||||||
@ -383,8 +386,7 @@ CURLcode Curl_file(struct connectdata *conn)
|
|||||||
if(Curl_pgrsUpdate(conn))
|
if(Curl_pgrsUpdate(conn))
|
||||||
res = CURLE_ABORTED_BY_CALLBACK;
|
res = CURLE_ABORTED_BY_CALLBACK;
|
||||||
|
|
||||||
close(fd);
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user