diff options
Diffstat (limited to 'lib/libc/stdlib/strtoull.c')
| -rw-r--r-- | lib/libc/stdlib/strtoull.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/lib/libc/stdlib/strtoull.c b/lib/libc/stdlib/strtoull.c index ee1e13b7d7c2..16dda0be3971 100644 --- a/lib/libc/stdlib/strtoull.c +++ b/lib/libc/stdlib/strtoull.c @@ -56,7 +56,7 @@ strtouq(nptr, endptr, base)  {  	register const char *s = nptr;  	register u_quad_t acc; -	register int c; +	register unsigned char c;  	register u_quad_t qbase, cutoff;  	register int neg, any, cutlim; @@ -87,6 +87,8 @@ strtouq(nptr, endptr, base)  	cutoff = (u_quad_t)UQUAD_MAX / qbase;  	cutlim = (u_quad_t)UQUAD_MAX % qbase;  	for (acc = 0, any = 0;; c = *s++) { +		if (!isascii(c)) +			break;  		if (isdigit(c))  			c -= '0';  		else if (isalpha(c)) | 
