[PATCH] Added Restriction on base value
Corinna Vinschen
vinschen@redhat.com
Mon Aug 13 07:45:00 GMT 2018
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20180813/0488bb19/attachment.sig>
More information about the Newlib
mailing list