nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 235eb296149ff1d16accadc37c52542b7f18ef2d
parent 3686ef756a3cde8d58d8c9d8dac48863846ac9dd
Author: Sijmen J. Mulder <ik@sjmulder.nl>
Date:   Wed, 24 Jun 2020 01:05:42 +0200

Fix check when char is unsigned (#665)

If char is unsigned (as on ARM) subtracting a larger number would
result in a wrap around, not a negative value.

  src/nnn.c: In function 'readpipe':
  src/nnn.c:4325:11: warning: comparison is always false due to limited
  range of data type [-Wtype-limits]

     if (ctx < 0 || ctx > CTX_MAX)
             ^
Diffstat:
Msrc/nnn.c | 4+++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -4326,9 +4326,11 @@ static void readpipe(int fd, char **path, char **lastname, char **lastdir) if (g_buf[0] == '+') ctx = (char)(get_free_ctx() + 1); + else if (g_buf[0] < '0') + return; else { ctx = g_buf[0] - '0'; - if (ctx < 0 || ctx > CTX_MAX) + if (ctx > CTX_MAX) return; }