diff options
author | Erik Dubbelboer <erik@dubbelboer.com> | 2021-05-21 12:11:09 +0200 |
---|---|---|
committer | Erik Dubbelboer <erik@dubbelboer.com> | 2021-05-21 12:11:09 +0200 |
commit | a18c6322a24bb26df10e4329876b61dc332109ac (patch) | |
tree | 915826f4413b125357bca3173bde46e3542e8011 /cookie.go | |
parent | Don't recommend Go 1.13 (diff) | |
download | fasthttp-a18c6322a24bb26df10e4329876b61dc332109ac.tar.gz fasthttp-a18c6322a24bb26df10e4329876b61dc332109ac.tar.bz2 fasthttp-a18c6322a24bb26df10e4329876b61dc332109ac.zip |
Fix cookie panic
Diffstat (limited to 'cookie.go')
-rw-r--r-- | cookie.go | 28 |
1 files changed, 15 insertions, 13 deletions
@@ -388,19 +388,21 @@ func (c *Cookie) ParseBytes(src []byte) error { case 's': // "samesite" if caseInsensitiveCompare(strCookieSameSite, kv.key) { - // Case insensitive switch on first char - switch kv.value[0] | 0x20 { - case 'l': // "lax" - if caseInsensitiveCompare(strCookieSameSiteLax, kv.value) { - c.sameSite = CookieSameSiteLaxMode - } - case 's': // "strict" - if caseInsensitiveCompare(strCookieSameSiteStrict, kv.value) { - c.sameSite = CookieSameSiteStrictMode - } - case 'n': // "none" - if caseInsensitiveCompare(strCookieSameSiteNone, kv.value) { - c.sameSite = CookieSameSiteNoneMode + if len(kv.value) > 0 { + // Case insensitive switch on first char + switch kv.value[0] | 0x20 { + case 'l': // "lax" + if caseInsensitiveCompare(strCookieSameSiteLax, kv.value) { + c.sameSite = CookieSameSiteLaxMode + } + case 's': // "strict" + if caseInsensitiveCompare(strCookieSameSiteStrict, kv.value) { + c.sameSite = CookieSameSiteStrictMode + } + case 'n': // "none" + if caseInsensitiveCompare(strCookieSameSiteNone, kv.value) { + c.sameSite = CookieSameSiteNoneMode + } } } } |