]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Explicitly cast chars to unsigned chars for <ctype.h> functions
authorOndřej Surý <ondrej@isc.org>
Wed, 20 Sep 2023 15:23:28 +0000 (17:23 +0200)
committerOndřej Surý <ondrej@isc.org>
Fri, 22 Sep 2023 06:29:17 +0000 (08:29 +0200)
Apply the semantic patch to catch all the places where we pass 'char' to
the <ctype.h> family of functions (isalpha() and friends, toupper(),
tolower()).

bin/tests/system/rpz/testlib/dummylib.c
bin/tests/system/rpz/testlib/test-data.c
contrib/dlz/modules/common/dlz_dbi.c
lib/isc/httpd.c

index d9ebdd306d56993536cf16b093050228a4b85b45..71e3de6c1c5684a196ae8d02b0811aa7abd066a5 100644 (file)
@@ -535,7 +535,7 @@ get_cstr_zones(const char *cstr, trpz_rsp_t *trsp, size_t *pnzones) {
        while (tptr != NULL && *tptr != '\0') {
                tok = strsep(&tptr, ";\n");
 
-               while (isspace(*tok)) {
+               while (isspace((unsigned char)*tok)) {
                        tok++;
                }
 
@@ -547,7 +547,7 @@ get_cstr_zones(const char *cstr, trpz_rsp_t *trsp, size_t *pnzones) {
 
                        tok += 5;
 
-                       while (isspace(*tok)) {
+                       while (isspace((unsigned char)*tok)) {
                                tok++;
                        }
 
@@ -570,7 +570,8 @@ get_cstr_zones(const char *cstr, trpz_rsp_t *trsp, size_t *pnzones) {
                                qend = tok;
                        }
 
-                       while (*qend != '\0' && !isspace(*qend)) {
+                       while (*qend != '\0' && !isspace((unsigned char)*qend))
+                       {
                                qend++;
                        }
 
index d48e216b2971bb2045ebf44a7f4e217e321aa126..3ffbce28fe1572ec00791ffed02ba23f21f20e9a 100644 (file)
@@ -1147,7 +1147,7 @@ sanity_check_data_file(const char *fname, char **errp) {
                        continue;
                }
 
-               while (*lptr && !isspace(*lptr)) {
+               while (*lptr && !isspace((unsigned char)*lptr)) {
                        lptr++;
                }
 
@@ -1171,7 +1171,7 @@ sanity_check_data_file(const char *fname, char **errp) {
                        goto out;
                }
 
-               while (isspace(*lptr)) {
+               while (isspace((unsigned char)*lptr)) {
                        lptr++;
                }
 
@@ -1280,7 +1280,7 @@ load_all_updates(const char *fname, trpz_result_t **presults, size_t *pnresults,
                        continue;
                }
 
-               while (*lptr && !isspace(*lptr)) {
+               while (*lptr && !isspace((unsigned char)*lptr)) {
                        lptr++;
                }
 
@@ -1343,7 +1343,7 @@ load_all_updates(const char *fname, trpz_result_t **presults, size_t *pnresults,
                }
 
                /* Everything here is an update */
-               while (isspace(*lptr)) {
+               while (isspace((unsigned char)*lptr)) {
                        lptr++;
                }
 
@@ -1421,7 +1421,7 @@ wdns_str_to_name(const char *str, uint8_t **pbuf, bool downcase) {
                        }
                        *data++ = c;
                        res++;
-               } else if (c == '\\' && !isdigit(*p)) {
+               } else if (c == '\\' && !isdigit((unsigned char)*p)) {
                        /* an escaped character */
                        if (slen <= 0) {
                                goto out;
@@ -1441,7 +1441,9 @@ wdns_str_to_name(const char *str, uint8_t **pbuf, bool downcase) {
                        d[2] = *p++;
                        d[3] = '\0';
                        slen -= 3;
-                       if (!isdigit(d[0]) || !isdigit(d[1]) || !isdigit(d[2]))
+                       if (!isdigit((unsigned char)d[0]) ||
+                           !isdigit((unsigned char)d[1]) ||
+                           !isdigit((unsigned char)d[2]))
                        {
                                goto out;
                        }
index 88ff6328f402ac1ac76df0c56cf60be965cc3984..d8e1909c44375a247f585b8dc7844818a08084a4 100644 (file)
@@ -474,7 +474,7 @@ get_parameter_value(const char *input, const char *key) {
 
        for (i = 0; i < 255; i++) {
                value[i] = keystart[keylen + i];
-               if (isspace(value[i]) || value[i] == '\0') {
+               if (isspace((unsigned char)value[i]) || value[i] == '\0') {
                        value[i] = '\0';
                        break;
                }
index 6ce2ca979c9d9ca64f4f45b285e842fd51d1e5e1..57cc0fd943ce824ab2c6b50a4d1306757c3cd060 100644 (file)
@@ -333,8 +333,10 @@ value_match(const struct phr_header *header, const char *match) {
        limit = header->value_len - match_len + 1;
 
        for (size_t i = 0; i < limit; i++) {
-               if (isspace(header->value[i])) {
-                       while (i < limit && isspace(header->value[i])) {
+               if (isspace((unsigned char)header->value[i])) {
+                       while (i < limit &&
+                              isspace((unsigned char)header->value[i]))
+                       {
                                i++;
                        }
                        continue;