summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/appl/gssftp/ftpd/ChangeLog5
-rw-r--r--src/appl/gssftp/ftpd/ftpd.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/src/appl/gssftp/ftpd/ChangeLog b/src/appl/gssftp/ftpd/ChangeLog
index fd13cf535..2a9bee278 100644
--- a/src/appl/gssftp/ftpd/ChangeLog
+++ b/src/appl/gssftp/ftpd/ChangeLog
@@ -3,6 +3,11 @@ Fri Apr 10 20:06:31 1998 Tom Yu <tlyu@mit.edu>
* ftpd.c (receive_data):
(send_data): Add support for sigsetjmp().
(main): Use sigaction() if we can to avoid SysV lossage.
+ (send_file_list): Oops missed a sigsetjmp() call.
+ (send_data): Add call to secure_flush() to send a zero length
+ buffer when aborting.
+ (send_file_list): Add call to secure_flush() to send a zero length
+ buffer when aborting.
* ftpcmd.y (PBSZ): Remove restriction on shrinking buffer size.
diff --git a/src/appl/gssftp/ftpd/ftpd.c b/src/appl/gssftp/ftpd/ftpd.c
index 45e561f95..9fa9af2c1 100644
--- a/src/appl/gssftp/ftpd/ftpd.c
+++ b/src/appl/gssftp/ftpd/ftpd.c
@@ -1182,6 +1182,7 @@ void send_data(instr, outstr, blksize)
transflag++;
if (sigsetjmp(urgcatch, 1)) {
transflag = 0;
+ (void)secure_flush(fileno(outstr));
return;
}
switch (type) {
@@ -2200,8 +2201,9 @@ send_file_list(whichfiles)
simple = 1;
}
- if (setjmp(urgcatch)) {
+ if (sigsetjmp(urgcatch, 1)) {
transflag = 0;
+ (void)secure_flush(fileno(dout));
return;
}
while (dirname = *dirlist++) {