(send_file_list): Oops missed a sigsetjmp() call.
authorTom Yu <tlyu@mit.edu>
Sat, 11 Apr 1998 03:27:10 +0000 (03:27 +0000)
committerTom Yu <tlyu@mit.edu>
Sat, 11 Apr 1998 03:27:10 +0000 (03:27 +0000)
(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.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10528 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/gssftp/ftpd/ChangeLog
src/appl/gssftp/ftpd/ftpd.c

index fd13cf5350bffca16eb2933dfe9cc2ac4f024b52..2a9bee27862c48624efdd0231d0c3d6b80803426 100644 (file)
@@ -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.
 
index 45e561f955b250571304b614d22cd0effcc69443..9fa9af2c1eed1737285988535b2efa3c515c83e0 100644 (file)
@@ -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++) {