diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-01-07 23:05:36 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-01-07 23:05:36 +0000 |
commit | 87037136efd4d5eeefb7456c2ad14740a956e47d (patch) | |
tree | 8a99d963996e2dc7d2053966cdaa7efd3c374706 | |
parent | 2182e374330f16ad7ed0179ef44d83699cd260eb (diff) |
As identified in bug report #495290, the last "name=value" pair in a
Set-Cookie: line was ignored if they didn't end with a trailing
semicolon. This is indeed wrong syntax, but there are high-profile web sites
out there sending cookies like that so we must make a best-effort to parse
them.
-rw-r--r-- | lib/cookie.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/cookie.c b/lib/cookie.c index 9ffdd2abe..8ba09832f 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -194,6 +194,11 @@ Curl_cookie_add(struct CookieInfo *c, while(ptr && *ptr && isspace((int)*ptr)) ptr++; semiptr=strchr(ptr, ';'); /* now, find the next semicolon */ + + if(!semiptr && *ptr) + /* There are no more semicolons, but there's a final name=value pair + coming up */ + semiptr=ptr; } while(semiptr); if(NULL == co->domain) |