From 4339b507af01421e2deab63ca9ac3c5bdae5f4cc Mon Sep 17 00:00:00 2001 From: sin Date: Fri, 7 Nov 2014 13:20:13 +0000 Subject: [PATCH] end{pw,sp}ent() can only be called after get{pw,sp}ent() Calling them unconditionally can result in memory corruption. --- slock.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/slock.c b/slock.c index 399386b..d281965 100644 --- a/slock.c +++ b/slock.c @@ -73,7 +73,6 @@ getpw(void) { /* only run as root */ else die("slock: cannot retrieve password entry (make sure to suid or sgid slock)\n"); } - endpwent(); rval = pw->pw_passwd; #if HAVE_SHADOW_H @@ -82,7 +81,6 @@ getpw(void) { /* only run as root */ 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; } #endif -- 2.20.1