From: Daniel Stenberg Date: Mon, 7 Jan 2002 23:05:36 +0000 (+0000) Subject: As identified in bug report #495290, the last "name=value" pair in a X-Git-Tag: curl-7_9_3-pre1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=87037136efd4d5eeefb7456c2ad14740a956e47d;p=thirdparty%2Fcurl.git 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. --- diff --git a/lib/cookie.c b/lib/cookie.c index 9ffdd2abe3..8ba09832ff 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)