diff options
| author | garbeam@gmail.com <unknown> | 2012-01-24 22:10:02 +0100 | 
|---|---|---|
| committer | garbeam@gmail.com <unknown> | 2012-01-24 22:10:02 +0100 | 
| commit | f013cb264e654125c043ed637b7f47692376f967 (patch) | |
| tree | 4f37c3521eafd30b9175e1c76a07447da85958f8 | |
| parent | 5a5c581285e86fe53c9602c7e0fb7e19ec742391 (diff) | |
| download | slock-f013cb264e654125c043ed637b7f47692376f967.tar.gz slock-f013cb264e654125c043ed637b7f47692376f967.tar.xz  | |
applied Michaels patch
| -rw-r--r-- | slock.c | 6 | 
1 files changed, 4 insertions, 2 deletions
@@ -50,9 +50,9 @@ getpw(void) { /* only run as root */  	const char *rval;  	struct passwd *pw; -	if(geteuid() != 0) -		die("cannot retrieve password entry (make sure to suid slock)");  	pw = getpwuid(getuid()); +	if(!pw) +		die("cannot retrieve password entry (make sure to suid or sgid slock)");  	endpwent();  	rval =  pw->pw_passwd; @@ -60,6 +60,8 @@ getpw(void) { /* only run as root */  	{  		struct spwd *sp;  		sp = getspnam(getenv("USER")); +		if(!sp) +			die("slock: cannot retrieve shadow entry (make sure to suid or sgid slock)\n");  		endspent();  		rval = sp->sp_pwdp;  	}  | 
