Die with an appropriate error if do_fork() fails.
authorWayne Davison <wayned@samba.org>
Sat, 13 Nov 2004 21:49:26 +0000 (21:49 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 13 Nov 2004 21:49:26 +0000 (21:49 +0000)
main.c

diff --git a/main.c b/main.c
index 20c93c2..2baac16 100644 (file)
--- a/main.c
+++ b/main.c
@@ -486,7 +486,12 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name)
 
        io_flush(NORMAL_FLUSH);
 
-       if ((pid = do_fork()) == 0) {
+       if ((pid = do_fork()) == -1) {
+               rsyserr(FERROR, errno, "fork failed in do_recv()");
+               exit_cleanup(RERR_IPC);
+       }
+
+       if (pid == 0) {
                close(error_pipe[0]);
                if (need_name_pipe) {
                        close(name_pipe[1]);