This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Added Restriction on base value


On Aug 12 19:39, Aditya Upadhyay wrote:
> ---
>  newlib/libc/stdlib/strtoimax.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/newlib/libc/stdlib/strtoimax.c b/newlib/libc/stdlib/strtoimax.c
> index 6901612..c3f27df 100644
> --- a/newlib/libc/stdlib/strtoimax.c
> +++ b/newlib/libc/stdlib/strtoimax.c
> @@ -91,6 +91,9 @@ _strtoimax_l(struct _reent *rptr, const char * __restrict nptr,
>  	if (base == 0)
>  		base = c == '0' ? 8 : 10;
>  
> +	if (base < 2 || base > 36)
> +		goto noconv;
> +
>  	/*
>  	 * Compute the cutoff value between legal numbers and illegal
>  	 * numbers.  That is the largest legal value, divided by the
> @@ -135,6 +138,7 @@ _strtoimax_l(struct _reent *rptr, const char * __restrict nptr,
>  		acc = neg ? INTMAX_MIN : INTMAX_MAX;
>  		rptr->_errno = ERANGE;
>  	} else if (!any) {
> +noconv:
>  		rptr->_errno = EINVAL;
>  	} else if (neg)
>  		acc = -acc;
> -- 
> 2.7.4

Pushed.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]