=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/sftp-int.c,v retrieving revision 1.36.2.2 retrieving revision 1.36.2.3 diff -u -r1.36.2.2 -r1.36.2.3 --- src/usr.bin/ssh/Attic/sftp-int.c 2002/03/09 00:20:45 1.36.2.2 +++ src/usr.bin/ssh/Attic/sftp-int.c 2002/06/02 22:56:11 1.36.2.3 @@ -26,7 +26,7 @@ /* XXX: recursive operations */ #include "includes.h" -RCSID("$OpenBSD: sftp-int.c,v 1.36.2.2 2002/03/09 00:20:45 miod Exp $"); +RCSID("$OpenBSD: sftp-int.c,v 1.36.2.3 2002/06/02 22:56:11 miod Exp $"); #include @@ -178,8 +178,9 @@ strerror(errno)); _exit(1); } - if (waitpid(pid, &status, 0) == -1) - fatal("Couldn't wait for child: %s", strerror(errno)); + while (waitpid(pid, &status, 0) == -1) + if (errno != EINTR) + fatal("Couldn't wait for child: %s", strerror(errno)); if (!WIFEXITED(status)) error("Shell exited abormally"); else if (WEXITSTATUS(status)) @@ -888,8 +889,10 @@ file2); parse_dispatch_command(conn, cmd, &pwd); + xfree(dir); return; } + xfree(dir); } setvbuf(stdout, NULL, _IOLBF, 0); setvbuf(infile, NULL, _IOLBF, 0);