applied Michaels patch

This commit is contained in:
garbeam@gmail.com 2012-01-24 22:10:02 +01:00
parent 5a5c581285
commit f013cb264e

View file

@ -50,9 +50,9 @@ getpw(void) { /* only run as root */
const char *rval; const char *rval;
struct passwd *pw; struct passwd *pw;
if(geteuid() != 0)
die("cannot retrieve password entry (make sure to suid slock)");
pw = getpwuid(getuid()); pw = getpwuid(getuid());
if(!pw)
die("cannot retrieve password entry (make sure to suid or sgid slock)");
endpwent(); endpwent();
rval = pw->pw_passwd; rval = pw->pw_passwd;
@ -60,6 +60,8 @@ getpw(void) { /* only run as root */
{ {
struct spwd *sp; struct spwd *sp;
sp = getspnam(getenv("USER")); sp = getspnam(getenv("USER"));
if(!sp)
die("slock: cannot retrieve shadow entry (make sure to suid or sgid slock)\n");
endspent(); endspent();
rval = sp->sp_pwdp; rval = sp->sp_pwdp;
} }