From 27b1f137ff76def14a1b71c8867ab7ffed3ce69e Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Thu, 12 Jan 2012 16:37:20 +0000 Subject: [PATCH] Sanitize usage of functions. It's important that characters are passed zero-extended, not sign-extended [from HEAD]. PR: 2682 --- apps/ca.c | 2 +- apps/s_client.c | 2 +- apps/s_server.c | 2 +- crypto/asn1/asn_mime.c | 6 +++--- engines/ccgost/gost_pmeth.c | 12 ++++++------ 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/ca.c b/apps/ca.c index 6b8b0ef8fd..5d11948bb3 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -2536,7 +2536,7 @@ static int get_certificate_status(const char *serial, CA_DB *db) /* Make it Upper Case */ for (i=0; row[DB_serial][i] != '\0'; i++) - row[DB_serial][i] = toupper(row[DB_serial][i]); + row[DB_serial][i] = toupper((unsigned char)row[DB_serial][i]); ok=1; diff --git a/apps/s_client.c b/apps/s_client.c index 34ad2cec78..53be0f8f82 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -581,7 +581,7 @@ int MAIN(int argc, char **argv) psk_key=*(++argv); for (j = 0; j < strlen(psk_key); j++) { - if (isxdigit((int)psk_key[j])) + if (isxdigit((unsigned char)psk_key[j])) continue; BIO_printf(bio_err,"Not a hex number '%s'\n",*argv); goto bad; diff --git a/apps/s_server.c b/apps/s_server.c index 8a0c34cf0f..a3a04d4734 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -1103,7 +1103,7 @@ int MAIN(int argc, char *argv[]) psk_key=*(++argv); for (i=0; i