From 8f384577b8398d3b0d32792150a98afd3721c74e Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Mon, 24 Oct 2022 11:31:08 +0200 Subject: [PATCH] cookies: optimize control character check When checking for invalid octets the strcspn() call will return the position of the first found invalid char or the first NULL byte. This means that we can check the indicated position in the search- string saving a strlen() call. Closes: #9736 Reviewed-by: Jay Satiro --- lib/cookie.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/cookie.c b/lib/cookie.c index 7f23b417b7..8eaedeeb7f 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -458,11 +458,10 @@ static int invalid_octets(const char *p) "\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14" "\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x7f" }; - size_t vlen, len; + size_t len; /* scan for all the octets that are *not* in cookie-octet */ len = strcspn(p, badoctets); - vlen = strlen(p); - return (len != vlen); + return (p[len] != '\0'); } /*