aboutsummaryrefslogtreecommitdiff
path: root/cookie.go
diff options
context:
space:
mode:
authorGravatar Erik Dubbelboer <erik@dubbelboer.com> 2021-05-21 12:11:09 +0200
committerGravatar Erik Dubbelboer <erik@dubbelboer.com> 2021-05-21 12:11:09 +0200
commita18c6322a24bb26df10e4329876b61dc332109ac (patch)
tree915826f4413b125357bca3173bde46e3542e8011 /cookie.go
parentDon't recommend Go 1.13 (diff)
downloadfasthttp-a18c6322a24bb26df10e4329876b61dc332109ac.tar.gz
fasthttp-a18c6322a24bb26df10e4329876b61dc332109ac.tar.bz2
fasthttp-a18c6322a24bb26df10e4329876b61dc332109ac.zip
Fix cookie panic
Diffstat (limited to 'cookie.go')
-rw-r--r--cookie.go28
1 files changed, 15 insertions, 13 deletions
diff --git a/cookie.go b/cookie.go
index 9e9bd87..e7947c7 100644
--- a/cookie.go
+++ b/cookie.go
@@ -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
+ }
}
}
}