summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorprovos <provos@openbsd.org>1997-02-18 23:38:58 +0000
committerprovos <provos@openbsd.org>1997-02-18 23:38:58 +0000
commitd1161f6e65493448d4b2935a0eb69ebdeaea8f3f (patch)
tree60b66b9e5dcef1659d3a0506060f3e1a9b803536
parentreversed changes (diff)
downloadwireguard-openbsd-d1161f6e65493448d4b2935a0eb69ebdeaea8f3f.tar.xz
wireguard-openbsd-d1161f6e65493448d4b2935a0eb69ebdeaea8f3f.zip
open master.passwd before doing pw_copy
-rw-r--r--libexec/rpc.yppasswdd/yppasswdd_mkpw.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libexec/rpc.yppasswdd/yppasswdd_mkpw.c b/libexec/rpc.yppasswdd/yppasswdd_mkpw.c
index 2c2846d359e..fdcb84d082f 100644
--- a/libexec/rpc.yppasswdd/yppasswdd_mkpw.c
+++ b/libexec/rpc.yppasswdd/yppasswdd_mkpw.c
@@ -30,12 +30,13 @@
*/
#ifndef LINT
-static char rcsid[] = "$Id: yppasswdd_mkpw.c,v 1.11 1997/02/18 22:44:49 provos Exp $";
+static char rcsid[] = "$Id: yppasswdd_mkpw.c,v 1.12 1997/02/18 23:38:58 provos Exp $";
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
+#include <fcntl.h>
#include <rpc/rpc.h>
#include <rpcsvc/yppasswd.h>
#include <pwd.h>
@@ -117,6 +118,10 @@ make_passwd(argp)
return (1);
}
+ pfd = open(_PATH_MASTERPASSWD, O_RDONLY, 0);
+ if (pfd < 0)
+ pw_error(_PATH_MASTERPASSWD, 1, 1);
+
pw_init();
tfd = pw_lock(0);