aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES6
-rw-r--r--RELEASE-NOTES4
-rw-r--r--lib/ftp.c7
3 files changed, 12 insertions, 5 deletions
diff --git a/CHANGES b/CHANGES
index c985a4e96..2b26a051e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@
Changelog
+Daniel Stenberg (19 May 2009)
+- Kamil Dudka brought the patch from the Redhat bug entry
+ https://bugzilla.redhat.com/show_bug.cgi?id=427966 which was libcurl closing
+ a bad file descriptor when closing down the FTP data connection. Caolan
+ McNamara seems to be the original author of it.
+
Version 7.19.5 (18 May 2009)
Daniel Stenberg (17 May 2009)
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 91b5b67d1..6388ea575 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -13,7 +13,7 @@ This release includes the following changes:
This release includes the following bugfixes:
- o
+ o crash on bad socket close with FTP
This release includes the following known bugs:
@@ -22,6 +22,6 @@ This release includes the following known bugs:
This release would not have looked like this without help, code, reports and
advice from friends like these:
-
+ Kamil Dudka, Caolan McNamara
Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/ftp.c b/lib/ftp.c
index ebd04f954..0bd07710d 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -3251,9 +3251,10 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
/* Note that we keep "use" set to TRUE since that (next) connection is
still requested to use SSL */
}
- sclose(conn->sock[SECONDARYSOCKET]);
-
- conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD;
+ if(CURL_SOCKET_BAD != conn->sock[SECONDARYSOCKET]) {
+ sclose(conn->sock[SECONDARYSOCKET]);
+ conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD;
+ }
}
if((ftp->transfer == FTPTRANSFER_BODY) && ftpc->ctl_valid &&