summaryrefslogtreecommitdiff
path: root/src/gpasswd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpasswd.c')
-rw-r--r--src/gpasswd.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gpasswd.c b/src/gpasswd.c
index 9f0cd195..8959a35a 100644
--- a/src/gpasswd.c
+++ b/src/gpasswd.c
@@ -32,7 +32,7 @@
#include <config.h>
-#ident "$Id: gpasswd.c 3640 2011-11-19 21:51:52Z nekral-guest $"
+#ident "$Id$"
#include <errno.h>
#include <fcntl.h>
@@ -898,6 +898,7 @@ static void change_passwd (struct group *gr)
char *cp;
static char pass[BUFSIZ];
int retries;
+ const char *salt;
/*
* A new password is to be entered and it must be encrypted, etc.
@@ -938,7 +939,14 @@ static void change_passwd (struct group *gr)
exit (1);
}
- cp = pw_encrypt (pass, crypt_make_salt (NULL, NULL));
+ salt = crypt_make_salt (NULL, NULL);
+ cp = pw_encrypt (pass, salt);
+ if (NULL == cp) {
+ fprintf (stderr,
+ _("%s: failed to crypt password with salt '%s': %s\n"),
+ Prog, salt, strerror (errno));
+ exit (1);
+ }
memzero (pass, sizeof pass);
#ifdef SHADOWGRP
if (is_shadowgrp) {