aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsin <sin@2f30.org>2014-07-09 14:40:49 +0100
committersin <sin@2f30.org>2014-07-09 14:41:32 +0100
commit8745098fa440ef3bf1d8e173dcd91514b34600c6 (patch)
tree42fe8184d9851a8361172a83e57579e8102e8eae
parent9db14b10dd09336c6a8fe283f99108c9acc4667a (diff)
Only check errno if getpwuid() fails
Checking errno otherwise is unspecified.
-rw-r--r--slock.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/slock.c b/slock.c
index aedee2e..399386b 100644
--- a/slock.c
+++ b/slock.c
@@ -67,10 +67,12 @@ getpw(void) { /* only run as root */
67 67
68 errno = 0; 68 errno = 0;
69 pw = getpwuid(getuid()); 69 pw = getpwuid(getuid());
70 if (errno) 70 if (!pw) {
71 die("slock: getpwuid: %s\n", strerror(errno)); 71 if (errno)
72 else if (!pw) 72 die("slock: getpwuid: %s\n", strerror(errno));
73 die("slock: cannot retrieve password entry (make sure to suid or sgid slock)\n"); 73 else
74 die("slock: cannot retrieve password entry (make sure to suid or sgid slock)\n");
75 }
74 endpwent(); 76 endpwent();
75 rval = pw->pw_passwd; 77 rval = pw->pw_passwd;
76 78