Selaa lähdekoodia

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)
             ^
master
Sijmen J. Mulder GitHub 4 vuotta sitten
vanhempi
commit
235eb29614
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 muutettua tiedostoa jossa 3 lisäystä ja 1 poistoa
  1. +3
    -1
      src/nnn.c

+ 3
- 1
src/nnn.c Näytä tiedosto

@@ -4326,9 +4326,11 @@ static void readpipe(int fd, char **path, char **lastname, char **lastdir)


if (g_buf[0] == '+') if (g_buf[0] == '+')
ctx = (char)(get_free_ctx() + 1); ctx = (char)(get_free_ctx() + 1);
else if (g_buf[0] < '0')
return;
else { else {
ctx = g_buf[0] - '0'; ctx = g_buf[0] - '0';
if (ctx < 0 || ctx > CTX_MAX)
if (ctx > CTX_MAX)
return; return;
} }




Loading…
Peruuta
Tallenna