From 1eeecb744b2259da738fca3c7ee99d0d5b6e27a4 Mon Sep 17 00:00:00 2001 From: "L. Pereira" Date: Fri, 24 May 2024 19:06:30 -0700 Subject: [PATCH] Fix off-by-one when looking for terminating NUL in find_pct_or_plus() --- src/lib/lwan-request.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/lwan-request.c b/src/lib/lwan-request.c index 0f703af16..7824e446b 100644 --- a/src/lib/lwan-request.c +++ b/src/lib/lwan-request.c @@ -293,11 +293,9 @@ static char *find_pct_or_plus(const char *input) uint64_t m = LWAN_MAX(has_plus, has_pct); if (has_zero && LWAN_MAX(has_zero, m) == has_zero) { - const int zero_pos = __builtin_ctzll(has_zero) / 8; - if (zero_pos >= 1 && zero_pos <= 3) + if (__builtin_ctzll(has_zero) / 8 < 4) goto check_small; - if (zero_pos >= 4 && zero_pos <= 7) - goto check_at_least_four; + goto check_at_least_four; } if (m) {