Set errno to 0 before getpwuid() and check it afterwards

This commit is contained in:
sin 2013-11-14 11:24:08 +00:00
parent ba3acfc0dc
commit 6a55128354

View File

@ -65,8 +65,11 @@ getpw(void) { /* only run as root */
const char *rval; const char *rval;
struct passwd *pw; struct passwd *pw;
errno = 0;
pw = getpwuid(getuid()); pw = getpwuid(getuid());
if(!pw) if (errno)
die("slock: getpwuid: %s\n", strerror(errno));
else if (!pw)
die("slock: cannot retrieve password entry (make sure to suid or sgid slock)\n"); die("slock: cannot retrieve password entry (make sure to suid or sgid slock)\n");
endpwent(); endpwent();
rval = pw->pw_passwd; rval = pw->pw_passwd;