Fix ctype arguments.
authorPauli <paul.dale@oracle.com>
Sun, 20 Aug 2017 21:36:23 +0000 (07:36 +1000)
committerPauli <paul.dale@oracle.com>
Mon, 21 Aug 2017 21:44:24 +0000 (07:44 +1000)
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)

(cherry picked from commit 00dfbaad88a69ed8294d6039bf5f7d722f72bf39)

apps/opt.c
apps/rehash.c
ssl/ssl_ciph.c

index f72ac64ec7a4eb020225d36a1238feca337131ba..4c3a26e5a7726f82b7766f17fa6cb659bb031c4b 100644 (file)
@@ -63,7 +63,7 @@ char *opt_progname(const char *argv0)
     if (n > sizeof prog - 1)
         n = sizeof prog - 1;
     for (q = prog, i = 0; i < n; i++, p++)
-        *q++ = isupper(*p) ? tolower(*p) : *p;
+        *q++ = tolower((unsigned char)*p);
     *q = '\0';
     return prog;
 }
index 2b517be9f4430fe1ad2a91cfb7abe3f77a06e8ef..273ad749692b71edfea8f4f33700ed4f8b3d4922 100644 (file)
@@ -305,7 +305,7 @@ static int massage_filename(char *name)
 
     if (q != NULL) {
         for (q++; *q != '\0'; q++) {
-            if (!isdigit(*q))
+            if (!isdigit((unsigned char)*q))
                 return 1;
         }
     }
index dad2ec176d1eeb341340bb0cb9396c5a68218cba..da6e29843524598ea58302d733166fdbd38fdbbd 100644 (file)
@@ -1036,7 +1036,8 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
                    ((ch >= 'a') && (ch <= 'z')) ||
                    (ch == '-') || (ch == '.') || (ch == '='))
 #else
-            while (isalnum(ch) || (ch == '-') || (ch == '.') || (ch == '='))
+            while (isalnum((unsigned char)ch) || (ch == '-') || (ch == '.')
+                   || (ch == '='))
 #endif
             {
                 ch = *(++l);