Remove the /etc/ptmp file via pw_abort(3) if the pw_mkdb(3) call fails.
Addresses part of PR 17849 from Grant Beattie, grant@netbsd.org.
This commit is contained in:
parent
b0d22e8404
commit
569d79bd84
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: user.c,v 1.54 2002/07/20 08:40:21 grant Exp $ */
|
/* $NetBSD: user.c,v 1.55 2002/08/06 09:03:55 agc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999 Alistair G. Crooks. All rights reserved.
|
* Copyright (c) 1999 Alistair G. Crooks. All rights reserved.
|
||||||
@ -35,7 +35,7 @@
|
|||||||
#ifndef lint
|
#ifndef lint
|
||||||
__COPYRIGHT("@(#) Copyright (c) 1999 \
|
__COPYRIGHT("@(#) Copyright (c) 1999 \
|
||||||
The NetBSD Foundation, Inc. All rights reserved.");
|
The NetBSD Foundation, Inc. All rights reserved.");
|
||||||
__RCSID("$NetBSD: user.c,v 1.54 2002/07/20 08:40:21 grant Exp $");
|
__RCSID("$NetBSD: user.c,v 1.55 2002/08/06 09:03:55 agc Exp $");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -1066,10 +1066,12 @@ adduser(char *login_name, user_t *up)
|
|||||||
(void) close(ptmpfd);
|
(void) close(ptmpfd);
|
||||||
#if PW_MKDB_ARGC == 2
|
#if PW_MKDB_ARGC == 2
|
||||||
if (pw_mkdb(login_name, 0) < 0) {
|
if (pw_mkdb(login_name, 0) < 0) {
|
||||||
|
(void) pw_abort();
|
||||||
err(EXIT_FAILURE, "pw_mkdb failed");
|
err(EXIT_FAILURE, "pw_mkdb failed");
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (pw_mkdb() < 0) {
|
if (pw_mkdb() < 0) {
|
||||||
|
(void) pw_abort();
|
||||||
err(EXIT_FAILURE, "pw_mkdb failed");
|
err(EXIT_FAILURE, "pw_mkdb failed");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1355,6 +1357,7 @@ moduser(char *login_name, char *newlogin, user_t *up)
|
|||||||
error = pw_mkdb();
|
error = pw_mkdb();
|
||||||
#endif
|
#endif
|
||||||
if (error < 0) {
|
if (error < 0) {
|
||||||
|
(void) pw_abort();
|
||||||
err(EXIT_FAILURE, "pw_mkdb failed");
|
err(EXIT_FAILURE, "pw_mkdb failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user