From: Daniel Stenberg Date: Wed, 12 Feb 2025 14:36:22 +0000 (+0100) Subject: cookie: simplify invalid_octets() X-Git-Tag: curl-8_13_0~491 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=597ee915c4c6da132dbd1735345b4fa511fde6f6;p=thirdparty%2Fcurl.git cookie: simplify invalid_octets() should also make it marginally faster and smaller. Closes #16306 --- diff --git a/lib/cookie.c b/lib/cookie.c index 9819768454..556eec4ab6 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -461,15 +461,12 @@ static bool bad_domain(const char *domain, size_t len) static bool invalid_octets(const char *p) { /* Reject all bytes \x01 - \x1f (*except* \x09, TAB) + \x7f */ - static const char badoctets[] = { - "\x01\x02\x03\x04\x05\x06\x07\x08\x0a" - "\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14" - "\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x7f" - }; - size_t len; - /* scan for all the octets that are *not* in cookie-octet */ - len = strcspn(p, badoctets); - return p[len] != '\0'; + while(*p) { + if(((*p != 9) && (*p < 0x20)) || (*p == 0x7f)) + return TRUE; + p++; + } + return FALSE; } #define CERR_OK 0