diff --git a/config.c b/config.c index af43e24afc45c0..f6d7eac381c34e 100644 --- a/config.c +++ b/config.c @@ -870,9 +870,9 @@ static int git_parse_signed(const char *value, intmax_t *ret, intmax_t max) errno = EINVAL; return 0; } - uval = labs(val); + uval = val < 0 ? -val : val; uval *= factor; - if (uval > max || labs(val) > uval) { + if (uval > max || (val < 0 ? -val : val) > uval) { errno = ERANGE; return 0; }