As identified in bug report #495290, the last "name=value" pair in a
authorDaniel Stenberg <daniel@haxx.se>
Mon, 7 Jan 2002 23:05:36 +0000 (23:05 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 7 Jan 2002 23:05:36 +0000 (23:05 +0000)
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.

lib/cookie.c

index 9ffdd2a..8ba0983 100644 (file)
@@ -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)