From 3ed3b62bd35ad2bc1ec73c566c5b1c49b6ba8bc1 Mon Sep 17 00:00:00 2001 From: Eitan Adler Date: Wed, 5 Dec 2012 13:56:49 +0000 Subject: Use strdup instead of malloc + strcpy Submitted by: db Approved by: cperciva MFC after: 2 weeks --- pw/pwupd.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'pw/pwupd.c') diff --git a/pw/pwupd.c b/pw/pwupd.c index 4ab0f01..0f2df7a 100644 --- a/pw/pwupd.c +++ b/pw/pwupd.c @@ -56,12 +56,10 @@ setpwdir(const char * dir) { if (dir == NULL) return -1; - else { - char * d = malloc(strlen(dir)+1); - if (d == NULL) - return -1; - pwpath = strcpy(d, dir); - } + else + pwpath = strdup(dir); + if (pwpath == NULL) + return -1; return 0; } -- cgit v1.2.3-56-ge451 From e8d40660fcad4c4bae334a2a7592616fa484ef3c Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Wed, 26 Dec 2012 18:28:17 +0000 Subject: In case of the deletion of a user those whole database has to be regenerated, otherwise the user planned to be deleted remain in the pwd.db while removed from the plain text password file. --- pw/pwupd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'pw/pwupd.c') diff --git a/pw/pwupd.c b/pw/pwupd.c index 0f2df7a..22662db 100644 --- a/pw/pwupd.c +++ b/pw/pwupd.c @@ -146,7 +146,11 @@ pw_update(struct passwd * pwd, char const * user) pw_fini(); err(1, "pw_copy()"); } - if (pw_mkdb(user) == -1) { + /* + * in case of deletion of a user, the whole database + * needs to be regenerated + */ + if (pw_mkdb(pw != NULL ? user : NULL) == -1) { pw_fini(); err(1, "pw_mkdb()"); } -- cgit v1.2.3-56-ge451