diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-12-06 01:55:34 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-12-06 01:55:34 +0000 |
commit | 7f52488716fc8d6e4b0c199cc0787fbeb9441969 (patch) | |
tree | 8b3acd4c439a5b63c335fdba88a8d39f72dde9c9 /libexec/rpc.yppasswdd | |
parent | 7d36f7824f4cb7e7457eb0e9b9c00449f37ff56b (diff) |
vfork w/ exit botch
Diffstat (limited to 'libexec/rpc.yppasswdd')
-rw-r--r-- | libexec/rpc.yppasswdd/yppasswdd_mkpw.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libexec/rpc.yppasswdd/yppasswdd_mkpw.c b/libexec/rpc.yppasswdd/yppasswdd_mkpw.c index 08ba14529b5..62345eb9efe 100644 --- a/libexec/rpc.yppasswdd/yppasswdd_mkpw.c +++ b/libexec/rpc.yppasswdd/yppasswdd_mkpw.c @@ -30,7 +30,7 @@ */ #ifndef LINT -static char rcsid[] = "$Id: yppasswdd_mkpw.c,v 1.8 1996/08/31 13:54:13 deraadt Exp $"; +static char rcsid[] = "$Id: yppasswdd_mkpw.c,v 1.9 1996/12/06 01:54:58 deraadt Exp $"; #endif #include <sys/types.h> @@ -143,7 +143,10 @@ do_mkdb() (void)fflush(stdout); if (!(pid = vfork())) { execl(_PATH_PWD_MKDB, "pwd_mkdb", "-p", tempname, NULL); - pw_error(_PATH_PWD_MKDB, 1, 1); + warn(_PATH_PWD_MKDB); + warnx("%s: unchanged", _PATH_MASTERPASSWD); + pw_abort(); + _exit(1); } pid = waitpid(pid, &pstat, 0); if (pid == -1 || !WIFEXITED(pstat) || WEXITSTATUS(pstat) != 0) |