diff --git a/src/signal_handler.c b/src/signal_handler.c index 2dd64005177b59a526990b0c2154c287034c52ef..9d037e560872a2e7b1852192ccb7e35c8308708e 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -22,7 +22,7 @@ #include "builtin_functions.h" #include <signal.h> -RCSID("$Id: signal_handler.c,v 1.84 1998/08/08 22:52:42 grubba Exp $"); +RCSID("$Id: signal_handler.c,v 1.85 1998/08/12 16:22:43 grubba Exp $"); #ifdef HAVE_PASSWD_H # include <passwd.h> @@ -1377,6 +1377,9 @@ void f_create_process(INT32 args) #endif /* PROC_DEBUG */ if(setgroups(storage.num_wanted_gids, storage.wanted_gids)) { +#ifdef PROC_DEBUG + fprintf(stderr, "setgroups() failed.\n"); +#endif /* PROC_DEBUG */ exit(77); } } @@ -1393,7 +1396,12 @@ void f_create_process(INT32 args) { int initgroupgid; if(!pw) pw=getpwuid(wanted_uid); - if(!pw) exit(77); + if(!pw) { +#ifdef PROC_DEBUG + fprintf(stderr, "getpwuid() failed.\n"); +#endif /* PROC_DEBUG */ + exit(77); + } initgroupgid=pw->pw_gid; /* printf("uid=%d euid=%d initgroups(%s,%d)\n",getuid(),geteuid(),pw->pw_name, initgroupgid); */ #ifdef PROC_DEBUG @@ -1412,7 +1420,12 @@ void f_create_process(INT32 args) gid_t x[]={ 65534 }; if(setgroups(0, x)) #endif /* SETGROUPS */ + { +#ifdef PROC_DEBUG + fprintf(stderr, "initgroups() failed.\n"); +#endif /* PROC_DEBUG */ exit(77); + } } } #endif /* INITGROUPS */