[hackers] [slock] Properly clear the last entered character || Tobias Stoeckmann

From: <git_AT_suckless.org>
Date: Sat, 25 Mar 2017 21:52:19 +0100 (CET)

commit 35633d45672d14bd798c478c45d1a17064701aa9
Author: Tobias Stoeckmann <tobias_AT_stoeckmann.org>
AuthorDate: Sat Mar 25 21:16:01 2017 +0100
Commit: Markus Teich <teichm_AT_fs.tum.de>
CommitDate: Sat Mar 25 21:51:29 2017 +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_AT_stoeckmann.org>

diff --git a/slock.c b/slock.c
index d55eb3d..5ae738c 100644
--- a/slock.c
+++ b/slock.c
_AT_@ -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]) &&
Received on Sat Mar 25 2017 - 21:52:19 CET

This archive was generated by hypermail 2.3.0 : Sat Mar 25 2017 - 22:00:17 CET