diff options
Diffstat (limited to 'src/nvim/charset.c')
-rw-r--r-- | src/nvim/charset.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nvim/charset.c b/src/nvim/charset.c index 649407ce12..e20c0e3f3f 100644 --- a/src/nvim/charset.c +++ b/src/nvim/charset.c @@ -1556,10 +1556,10 @@ void vim_str2nr(const char_u *const start, int *const prep, int *const len, cons } \ const uvarnumber_T digit = (uvarnumber_T)(conv); \ /* avoid ubsan error for overflow */ \ - if (un < UVARNUMBER_MAX / base \ - || (un == UVARNUMBER_MAX / base \ - && (base != 10 || digit <= UVARNUMBER_MAX % 10))) { \ - un = base * un + digit; \ + if (un < UVARNUMBER_MAX / (base) \ + || (un == UVARNUMBER_MAX / (base) \ + && ((base) != 10 || digit <= UVARNUMBER_MAX % 10))) { \ + un = (base) * un + digit; \ } else { \ un = UVARNUMBER_MAX; \ } \ |