From 35633d45672d14bd798c478c45d1a17064701aa9 Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Sat, 25 Mar 2017 21:16:01 +0100 Subject: [PATCH] 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 --- slock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slock.c b/slock.c index d55eb3d..5ae738c 100644 --- 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]) && -- 2.39.2