projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ftp://ftp.sunet.se/pub/os/Linux/distributions/ultrapenguin/ultrapenguin-1.1/SRPMS...
[xscreensaver]
/
driver
/
passwd.c
diff --git
a/driver/passwd.c
b/driver/passwd.c
index c8e6f56fe3e755fbbf86f96fd67b775124d2c29a..cc1212212828fef32c1f40e4df45fa20fecb79ec 100644
(file)
--- a/
driver/passwd.c
+++ b/
driver/passwd.c
@@
-214,16
+214,18
@@
lock_init (int argc, char **argv)
Bool
passwd_valid_p (const char *typed_passwd)
{
Bool
passwd_valid_p (const char *typed_passwd)
{
+ char *s = 0; /* note that on some systems, crypt() may return null */
+
if (encrypted_user_passwd &&
if (encrypted_user_passwd &&
- !strcmp ((char *) crypt (typed_passwd, encrypted_user_passwd),
-
encrypted_user_passwd))
+ (s = (char *) crypt (typed_passwd, encrypted_user_passwd)) &&
+
!strcmp (s,
encrypted_user_passwd))
return True;
/* do not allow root to have a null password. */
else if (typed_passwd[0] &&
encrypted_root_passwd &&
return True;
/* do not allow root to have a null password. */
else if (typed_passwd[0] &&
encrypted_root_passwd &&
- !strcmp ((char *) crypt (typed_passwd, encrypted_root_passwd),
-
encrypted_root_passwd))
+ (s = (char *) crypt (typed_passwd, encrypted_root_passwd)) &&
+
!strcmp (s,
encrypted_root_passwd))
return True;
else
return True;
else