X-Git-Url: https://git.danieliu.xyz/?p=slock.git;a=blobdiff_plain;f=slock.c;h=6dedc69944ca49e43104f4a81513448e0e9a0af0;hp=f79917468021ca414a174a50e71372b4f59deda9;hb=dc2e8e839e4d72f5fec36c9a0474e6062a7a8f51;hpb=9a617db716641da8489e2062e04098220954bffe diff --git a/slock.c b/slock.c index f799174..6dedc69 100644 --- a/slock.c +++ b/slock.c @@ -103,14 +103,14 @@ gethash(void) #if HAVE_SHADOW_H if (hash[0] == 'x' && hash[1] == '\0') { struct spwd *sp; - if (!(sp = getspnam(getenv("USER")))) + if (!(sp = getspnam(pw->pw_name))) die("slock: getspnam: cannot retrieve shadow entry (make sure to suid or sgid slock)\n"); hash = sp->sp_pwdp; } #else if (hash[0] == '*' && hash[1] == '\0') { #ifdef __OpenBSD__ - if (!(pw = getpwnam_shadow(getenv("USER")))) + if (!(pw = getpwuid_shadow(getuid()))) die("slock: getpwnam_shadow: cannot retrieve shadow entry (make sure to suid or sgid slock)\n"); hash = pw->pw_passwd; #else