diff --git a/lib/libc/stdlib/strtol.c b/lib/libc/stdlib/strtol.c index 10d7425c0f8974..07728944f4d76b 100644 --- a/lib/libc/stdlib/strtol.c +++ b/lib/libc/stdlib/strtol.c @@ -87,7 +87,7 @@ strtol(nptr, endptr, base) if (base == 0) base = c == '0' ? 8 : 10; acc = any = 0; - if (base < 2) + if (base < 2 || base > 35) goto noconv; /* diff --git a/lib/libc/stdlib/strtoll.c b/lib/libc/stdlib/strtoll.c index 5d656c1bee3c9f..2992ec83f1e864 100644 --- a/lib/libc/stdlib/strtoll.c +++ b/lib/libc/stdlib/strtoll.c @@ -86,7 +86,7 @@ strtoll(nptr, endptr, base) if (base == 0) base = c == '0' ? 8 : 10; acc = any = 0; - if (base < 2) + if (base < 2 || base > 35) goto noconv; /* diff --git a/lib/libc/stdlib/strtoul.c b/lib/libc/stdlib/strtoul.c index e952663c533e4f..e9046b0d285a18 100644 --- a/lib/libc/stdlib/strtoul.c +++ b/lib/libc/stdlib/strtoul.c @@ -84,7 +84,7 @@ strtoul(nptr, endptr, base) if (base == 0) base = c == '0' ? 8 : 10; acc = any = 0; - if (base < 2) + if (base < 2 || base > 35) goto noconv; cutoff = ULONG_MAX / base; diff --git a/lib/libc/stdlib/strtoull.c b/lib/libc/stdlib/strtoull.c index 15a097221188fe..3e9b40077d6fef 100644 --- a/lib/libc/stdlib/strtoull.c +++ b/lib/libc/stdlib/strtoull.c @@ -84,7 +84,7 @@ strtoull(nptr, endptr, base) if (base == 0) base = c == '0' ? 8 : 10; acc = any = 0; - if (base < 2) + if (base < 2 || base > 35) goto noconv; cutoff = ULLONG_MAX / base;