Fix ctype arguments.

Cast arguments to the various ctype functions to unsigned char to match their
documentation.

Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4203)
This commit is contained in:
Pauli 2017-08-21 07:36:23 +10:00
parent 0d68367a12
commit 00dfbaad88
7 changed files with 10 additions and 9 deletions

View file

@ -61,7 +61,7 @@ char *opt_progname(const char *argv0)
if (n > sizeof prog - 1) if (n > sizeof prog - 1)
n = sizeof prog - 1; n = sizeof prog - 1;
for (q = prog, i = 0; i < n; i++, p++) for (q = prog, i = 0; i < n; i++, p++)
*q++ = isupper(*p) ? tolower(*p) : *p; *q++ = tolower((unsigned char)*p);
*q = '\0'; *q = '\0';
return prog; return prog;
} }

View file

@ -300,7 +300,7 @@ static int massage_filename(char *name)
if (q != NULL) { if (q != NULL) {
for (q++; *q != '\0'; q++) { for (q++; *q != '\0'; q++) {
if (!isdigit(*q)) if (!isdigit((unsigned char)*q))
return 1; return 1;
} }
} }

View file

@ -1001,7 +1001,8 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
((ch >= 'a') && (ch <= 'z')) || ((ch >= 'a') && (ch <= 'z')) ||
(ch == '-') || (ch == '.') || (ch == '=')) (ch == '-') || (ch == '.') || (ch == '='))
#else #else
while (isalnum(ch) || (ch == '-') || (ch == '.') || (ch == '=')) while (isalnum((unsigned char)ch) || (ch == '-') || (ch == '.')
|| (ch == '='))
#endif #endif
{ {
ch = *(++l); ch = *(++l);

View file

@ -109,7 +109,7 @@ static int atoi64(const char *in, int64_t *result)
for ( ; *in != '\0'; in++) { for ( ; *in != '\0'; in++) {
char c = *in; char c = *in;
if (!isdigit(c)) if (!isdigit((unsigned char)c))
return 0; return 0;
ret *= 10; ret *= 10;
ret += (c - '0'); ret += (c - '0');

View file

@ -1302,7 +1302,7 @@ static int parse_uint64(const char *value, uint64_t *pr)
return -1; return -1;
} }
*pr *= 10; *pr *= 10;
if (!TEST_true(isdigit(*p))) { if (!TEST_true(isdigit((unsigned char)*p))) {
TEST_error("Invalid character in string %s", value); TEST_error("Invalid character in string %s", value);
return -1; return -1;
} }

View file

@ -72,12 +72,12 @@ static void test_fail_string_common(const char *prefix, const char *file,
if (l1 > 0) { if (l1 > 0) {
b1[n1 = l1 > width ? width : l1] = 0; b1[n1 = l1 > width ? width : l1] = 0;
for (i = 0; i < n1; i++) for (i = 0; i < n1; i++)
b1[i] = isprint(m1[i]) ? m1[i] : '.'; b1[i] = isprint((unsigned char)m1[i]) ? m1[i] : '.';
} }
if (l2 > 0) { if (l2 > 0) {
b2[n2 = l2 > width ? width : l2] = 0; b2[n2 = l2 > width ? width : l2] = 0;
for (i = 0; i < n2; i++) for (i = 0; i < n2; i++)
b2[i] = isprint(m2[i]) ? m2[i] : '.'; b2[i] = isprint((unsigned char)m2[i]) ? m2[i] : '.';
} }
diff = 0; diff = 0;
i = 0; i = 0;

View file

@ -70,12 +70,12 @@ static char *strip_spaces(char *p)
char *q; char *q;
/* Skip over leading spaces */ /* Skip over leading spaces */
while (*p && isspace(*p)) while (*p && isspace((unsigned char)*p))
p++; p++;
if (!*p) if (!*p)
return NULL; return NULL;
for (q = p + strlen(p) - 1; q != p && isspace(*q); ) for (q = p + strlen(p) - 1; q != p && isspace((unsigned char)*q); )
*q-- = '\0'; *q-- = '\0';
return *p ? p : NULL; return *p ? p : NULL;
} }