On Tue, 2026-02-10 at 09:36 +0200, Andy Shevchenko wrote:

> I don't see how max_chars is used. With that said, I would rather see the 
> usual
> way of expressing the condition in the for-loop:
> 
>       for (rv = 0; rv < max_chars; rv++, s++) {

This will break the loop (and so stop consuming characters) if KSTRTOX_OVERFLOW
bit is set.

> > +           if (likely(res != ULLONG_MAX)) {
> 
> Have you seen David's question about these checks?
> Maybe I missed your answer...
> 
> > +                   if (unlikely(res & (~0ull << 60))) {

The first check may be dropped indeed (assuming check_mul_overflow(ULLONG_MAX, 
a, b)
and check_add_overflow(ULLONG_MAX, a, b) always signals an overflow).

Dmitry

Reply via email to