diff options
-rw-r--r-- | lib/cookie.c | 2 | ||||
-rw-r--r-- | tests/data/test31 | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/cookie.c b/lib/cookie.c index f1450e905..0864f6bcf 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -407,7 +407,7 @@ Curl_cookie_add(struct SessionHandle *data, do { /* we have a <what>=<this> pair or a stand-alone word here */ name[0]=what[0]=0; /* init the buffers */ - if(1 <= sscanf(ptr, "%" MAX_NAME_TXT "[^;\r\n =]=%" + if(1 <= sscanf(ptr, "%" MAX_NAME_TXT "[^;\r\n =] =%" MAX_COOKIE_LINE_TXT "[^;\r\n]", name, what)) { /* Use strstore() below to properly deal with received cookie diff --git a/tests/data/test31 b/tests/data/test31 index dfcac0458..7cf556c0c 100644 --- a/tests/data/test31 +++ b/tests/data/test31 @@ -53,6 +53,10 @@ Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030 Set-Cookie: magic=yessir; path=/silly/; HttpOnly
Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad;
Set-Cookie: partialip=nono; domain=.0.0.1;
+Set-Cookie: withspaces= yes within and around ;
+Set-Cookie: withspaces2 =before equals;
+Set-Cookie: prespace= yes before;
+Set-Cookie: securewithspace=after ; secure =
boo </data> @@ -124,6 +128,10 @@ Accept: */* 127.0.0.1 FALSE /we/want/ FALSE 2054030187 nodomain value #HttpOnly_127.0.0.1 FALSE /silly/ FALSE 0 magic yessir 127.0.0.1 FALSE /we/want/ FALSE 0 blexp yesyes +127.0.0.1 FALSE /we/want/ FALSE 0 withspaces yes within and around +127.0.0.1 FALSE /we/want/ FALSE 0 withspaces2 before equals +127.0.0.1 FALSE /we/want/ FALSE 0 prespace yes before +127.0.0.1 FALSE /we/want/ TRUE 0 securewithspace after </file> </verify> </testcase> |