summaryrefslogtreecommitdiff
path: root/Src/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Modules')
-rw-r--r--Src/Modules/zftp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/Modules/zftp.c b/Src/Modules/zftp.c
index 80e09045c..de762e883 100644
--- a/Src/Modules/zftp.c
+++ b/Src/Modules/zftp.c
@@ -2678,14 +2678,15 @@ zfclose(int leaveparams)
zfsendcmd("QUIT\r\n");
}
if (zfsess->cin) {
- fclose(zfsess->cin);
/*
* We fdopen'd the TCP control fd; since we can't fdclose it,
* we need to perform a full fclose, which invalidates the
- * TCP fd.
+ * TCP fd. We need to do this before closing the FILE, since
+ * it's not usable afterwards.
*/
if (fileno(zfsess->cin) == zfsess->control->fd)
zfsess->control->fd = -1;
+ fclose(zfsess->cin);
zfsess->cin = NULL;
}
if (zfsess->control) {