slock

simple X display locker utility
git clone git://git.suckless.org/slock
Log | Files | Refs | README | LICENSE

commit 35633d45672d14bd798c478c45d1a17064701aa9
parent 2d2a21a90ad1b53594b1b90b97486189ec54afce
Author: Tobias Stoeckmann <tobias@stoeckmann.org>
Date:   Sat, 25 Mar 2017 21:16:01 +0100

Properly clear the last entered character

When enter is pressed, passwd[len] will be set to '\0'. Pressing
backspace is supposed to remove the last entered character.

But currently, the clearing has an off-by-one, as in setting
passwd[len] to '\0' just like enter would do.

You can also verify it by imagining len=1 and that it's impossible to
clear passwd[0] by pressing backspace with the current code.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>

Diffstat:
slock.c | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/slock.c b/slock.c @@ -177,7 +177,7 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, break; case XK_BackSpace: if (len) - passwd[len--] = '\0'; + passwd[--len] = '\0'; break; default: if (num && !iscntrl((int)buf[0]) &&