From 9b2a29660bc3b9b7f2ee8df52f7d7a46e20247dc Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Thu, 12 Jan 2012 16:28:03 +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 33e2391028..2a83d1936e 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -2560,7 +2560,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 b0702ce6fe..22e6762838 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -763,7 +763,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 950ab67610..dbb35013de 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -1204,7 +1204,7 @@ int MAIN(int argc, char *argv[]) psk_key=*(++argv); for (i=0; i