summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>1999-05-10 11:18:26 +0000
committerBodo Möller <bodo@openssl.org>1999-05-10 11:18:26 +0000
commit84a370a4002740d8311e5c6950071dfff436395b (patch)
tree620d65dcdcda536fd49f0e38fb856de4aeea60d8
parent93c5624f04a4a371bdbd66af264743f0bad8c516 (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.c4
-rw-r--r--crypto/objects/obj_dat.c10
-rw-r--r--crypto/x509v3/v3_conf.c4
-rw-r--r--crypto/x509v3/v3_utl.c4
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;