From 6a5512835485ac501d983161ca15b311a95c5649 Mon Sep 17 00:00:00 2001 From: sin Date: Thu, 14 Nov 2013 11:24:08 +0000 Subject: Set errno to 0 before getpwuid() and check it afterwards --- slock.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slock.c b/slock.c index 467937c..506231e 100644 --- a/slock.c +++ b/slock.c @@ -65,8 +65,11 @@ getpw(void) { /* only run as root */ const char *rval; struct passwd *pw; + errno = 0; 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"); endpwent(); rval = pw->pw_passwd; -- cgit v1.2.3-70-g09d2