diff options
author | Bodo Möller <bodo@openssl.org> | 1999-05-10 11:18:26 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 1999-05-10 11:18:26 +0000 |
commit | 84a370a4002740d8311e5c6950071dfff436395b (patch) | |
tree | 620d65dcdcda536fd49f0e38fb856de4aeea60d8 | |
parent | 93c5624f04a4a371bdbd66af264743f0bad8c516 (diff) |
The various character predicates (isspace and the like) may not be
used with negative char values, so I've added casts to unsigned char.
Maybe what really should be done is change all those arrays and
pointers to type unsigned char [] or unsigned char *, respectively;
but using plain char with those predicates is just wrong, so something
had to be done.
Submitted by:
Reviewed by:
PR:
-rw-r--r-- | crypto/bn/bn_print.c | 4 | ||||
-rw-r--r-- | crypto/objects/obj_dat.c | 10 | ||||
-rw-r--r-- | crypto/x509v3/v3_conf.c | 4 | ||||
-rw-r--r-- | crypto/x509v3/v3_utl.c | 4 |
4 files changed, 11 insertions, 11 deletions
diff --git a/crypto/bn/bn_print.c b/crypto/bn/bn_print.c index 1ec49ed3cc..f2d2fce589 100644 --- a/crypto/bn/bn_print.c +++ b/crypto/bn/bn_print.c @@ -165,7 +165,7 @@ int BN_hex2bn(BIGNUM **bn, char *a) if (*a == '-') { neg=1; a++; } - for (i=0; isxdigit(a[i]); i++) + for (i=0; isxdigit((unsigned char) a[i]); i++) ; num=i+neg; @@ -230,7 +230,7 @@ int BN_dec2bn(BIGNUM **bn, char *a) if ((a == NULL) || (*a == '\0')) return(0); if (*a == '-') { neg=1; a++; } - for (i=0; isdigit(a[i]); i++) + for (i=0; isdigit((unsigned char) a[i]); i++) ; num=i+neg; diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c index cfc082add3..0b24b14446 100644 --- a/crypto/objects/obj_dat.c +++ b/crypto/objects/obj_dat.c @@ -512,26 +512,26 @@ int OBJ_create_objects(BIO *in) i=BIO_gets(in,buf,512); if (i <= 0) return(num); buf[i-1]='\0'; - if (!isalnum(buf[0])) return(num); + if (!isalnum((unsigned char)buf[0])) return(num); o=s=buf; - while (isdigit(*s) || (*s == '.')) + while (isdigit((unsigned char)*s) || (*s == '.')) s++; if (*s != '\0') { *(s++)='\0'; - while (isspace(*s)) + while (isspace((unsigned char)*s)) s++; if (*s == '\0') s=NULL; else { l=s; - while ((*l != '\0') && !isspace(*l)) + while ((*l != '\0') && !isspace((unsigned char)*l)) l++; if (*l != '\0') { *(l++)='\0'; - while (isspace(*l)) + while (isspace((unsigned char)*l)) l++; if (*l == '\0') l=NULL; } diff --git a/crypto/x509v3/v3_conf.c b/crypto/x509v3/v3_conf.c index 0460fbedfc..91cc7ebfaa 100644 --- a/crypto/x509v3/v3_conf.c +++ b/crypto/x509v3/v3_conf.c @@ -203,7 +203,7 @@ static int v3_check_critical(char **value) char *p = *value; if((strlen(p) < 9) || strncmp(p, "critical,", 9)) return 0; p+=9; - while(isspace(*p)) p++; + while(isspace((unsigned char)*p)) p++; *value = p; return 1; } @@ -214,7 +214,7 @@ static int v3_check_generic(char **value) char *p = *value; if((strlen(p) < 4) || strncmp(p, "RAW:,", 4)) return 0; p+=4; - while(isspace(*p)) p++; + while(isspace((unsigned char)*p)) p++; *value = p; return 1; } diff --git a/crypto/x509v3/v3_utl.c b/crypto/x509v3/v3_utl.c index c1ea05c1e9..7ffab1383c 100644 --- a/crypto/x509v3/v3_utl.c +++ b/crypto/x509v3/v3_utl.c @@ -311,10 +311,10 @@ static char *strip_spaces(char *name) char *p, *q; /* Skip over leading spaces */ p = name; - while(*p && isspace(*p)) p++; + while(*p && isspace((unsigned char)*p)) p++; if(!*p) return NULL; q = p + strlen(p) - 1; - while((q != p) && isspace(*q)) q--; + while((q != p) && isspace((unsigned char)*q)) q--; if(p != q) q[1] = 0; if(!*p) return NULL; return p; |