summaryrefslogtreecommitdiff
path: root/noncore/net/ftplib
Unidiff
Diffstat (limited to 'noncore/net/ftplib') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/ftplib/ftplib.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/noncore/net/ftplib/ftplib.c b/noncore/net/ftplib/ftplib.c
index efcd6f0..addf9d2 100644
--- a/noncore/net/ftplib/ftplib.c
+++ b/noncore/net/ftplib/ftplib.c
@@ -1169,13 +1169,17 @@ static int FtpXfer(const char *localfile, const char *path,
1169 return 0; 1169 return 0;
1170 } 1170 }
1171 } 1171 }
1172 if (local == NULL) 1172 if (local == NULL)
1173 local = (typ == FTPLIB_FILE_WRITE) ? stdin : stdout; 1173 local = (typ == FTPLIB_FILE_WRITE) ? stdin : stdout;
1174 if (!FtpAccess(path, typ, mode, nControl, &nData)) 1174 if (!FtpAccess(path, typ, mode, nControl, &nData))
1175 {
1176 if (localfile != NULL)
1177 fclose(local);
1175 return 0; 1178 return 0;
1179 }
1176 dbuf = malloc(FTPLIB_BUFSIZ); 1180 dbuf = malloc(FTPLIB_BUFSIZ);
1177 if (typ == FTPLIB_FILE_WRITE) 1181 if (typ == FTPLIB_FILE_WRITE)
1178 { 1182 {
1179 while ((l = fread(dbuf, 1, FTPLIB_BUFSIZ, local)) > 0) 1183 while ((l = fread(dbuf, 1, FTPLIB_BUFSIZ, local)) > 0)
1180 if ((c = FtpWrite(dbuf, l, nData)) < l) 1184 if ((c = FtpWrite(dbuf, l, nData)) < l)
1181 { 1185 {