ifix undefined behaviours with isdigit() and tolower() functions - sacc - sacc(omys), simple console gopher client Err bitreich.org 70 hgit clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ URL:git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ bitreich.org 70 1Log /scm/sacc/log.gph bitreich.org 70 1Files /scm/sacc/files.gph bitreich.org 70 1Refs /scm/sacc/refs.gph bitreich.org 70 1Tags /scm/sacc/tag bitreich.org 70 1LICENSE /scm/sacc/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit ed63d85224f39fc733d55b0d326085d7f4bd0b70 /scm/sacc/commit/ed63d85224f39fc733d55b0d326085d7f4bd0b70.gph bitreich.org 70 1parent 2e25654b851d97ab5738a82bd9d47aeb02128be1 /scm/sacc/commit/2e25654b851d97ab5738a82bd9d47aeb02128be1.gph bitreich.org 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org bitreich.org 70 iDate: Sat, 8 Sep 2018 12:44:35 +0200 Err bitreich.org 70 i Err bitreich.org 70 ifix undefined behaviours with isdigit() and tolower() functions Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M sacc.c | 3 ++- Err bitreich.org 70 i M ui_txt.c | 4 ++-- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 4 insertions(+), 3 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/sacc.c b/sacc.c /scm/sacc/file/sacc.c.gph bitreich.org 70 i@@ -86,7 +86,8 @@ strcasestr(const char *h, const char *n) Err bitreich.org 70 i return (char *)h; Err bitreich.org 70 i Err bitreich.org 70 i for (; *h; ++h) { Err bitreich.org 70 i- for (i = 0; n[i] && tolower(n[i]) == tolower(h[i]); ++i) Err bitreich.org 70 i+ for (i = 0; n[i] && tolower((unsigned char)n[i]) == Err bitreich.org 70 i+ tolower((unsigned char)h[i]); ++i) Err bitreich.org 70 i ; Err bitreich.org 70 i if (n[i] == '\0') Err bitreich.org 70 i return (char *)h; Err bitreich.org 70 1diff --git a/ui_txt.c b/ui_txt.c /scm/sacc/file/ui_txt.c.gph bitreich.org 70 i@@ -249,7 +249,7 @@ uiselectitem(Item *entry) Err bitreich.org 70 i putchar('\n'); Err bitreich.org 70 i return NULL; Err bitreich.org 70 i } Err bitreich.org 70 i- if (isdigit(*buf)) { Err bitreich.org 70 i+ if (isdigit((unsigned char)*buf)) { Err bitreich.org 70 i cmd = '\0'; Err bitreich.org 70 i nl = '\0'; Err bitreich.org 70 i if (sscanf(buf, "%d%c", &item, &nl) != 2 || nl != '\n') Err bitreich.org 70 i@@ -263,7 +263,7 @@ uiselectitem(Item *entry) Err bitreich.org 70 i *sstr = '\0'; Err bitreich.org 70 i sstr = buf+1; Err bitreich.org 70 i cmd = *buf; Err bitreich.org 70 i- } else if (isdigit(*(buf+1))) { Err bitreich.org 70 i+ } else if (isdigit((unsigned char)*(buf+1))) { Err bitreich.org 70 i nl = '\0'; Err bitreich.org 70 i if (sscanf(buf+1, "%d%c", &item, &nl) != 2 || nl != '\n') Err bitreich.org 70 i item = -1; Err bitreich.org 70 .