Skip to content

Commit a093c93

Browse files
committed
cookie: only keep and use the canonical cleaned up path
Instead of keeping both versions around. Closes curl#19864
1 parent 524936f commit a093c93

11 files changed

Lines changed: 116 additions & 125 deletions

File tree

lib/cookie.c

Lines changed: 37 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ static void freecookie(struct Cookie *co, bool maintoo)
6767
{
6868
curlx_free(co->domain);
6969
curlx_free(co->path);
70-
curlx_free(co->spath);
7170
curlx_free(co->name);
7271
curlx_free(co->value);
7372
if(maintoo)
@@ -227,20 +226,19 @@ static size_t cookiehash(const char * const domain)
227226
/*
228227
* cookie path sanitize
229228
*/
230-
static char *sanitize_cookie_path(const char *cookie_path)
229+
static char *sanitize_cookie_path(const char *cookie_path, size_t len)
231230
{
232-
size_t len = strlen(cookie_path);
233-
234231
/* some sites send path attribute within '"'. */
235-
if(cookie_path[0] == '\"') {
232+
if(len && (cookie_path[0] == '\"')) {
236233
cookie_path++;
237234
len--;
235+
236+
if(len && (cookie_path[len - 1] == '\"'))
237+
len--;
238238
}
239-
if(len && (cookie_path[len - 1] == '\"'))
240-
len--;
241239

242240
/* RFC6265 5.2.4 The Path Attribute */
243-
if(cookie_path[0] != '/')
241+
if(!len || (cookie_path[0] != '/'))
244242
/* Let cookie-path be the default-path. */
245243
return curlx_strdup("/");
246244

@@ -393,23 +391,23 @@ static CURLcode storecookie(struct Cookie *co, struct Curl_str *cp,
393391
result = strstore(&co->value, curlx_str(&cp[COOKIE_VALUE]),
394392
curlx_strlen(&cp[COOKIE_VALUE]));
395393
if(!result) {
396-
if(curlx_strlen(&cp[COOKIE_PATH]))
397-
result = strstore(&co->path, curlx_str(&cp[COOKIE_PATH]),
398-
curlx_strlen(&cp[COOKIE_PATH]));
394+
size_t plen = 0;
395+
if(curlx_strlen(&cp[COOKIE_PATH])) {
396+
path = curlx_str(&cp[COOKIE_PATH]);
397+
plen = curlx_strlen(&cp[COOKIE_PATH]);
398+
}
399399
else if(path) {
400400
/* No path was given in the header line, set the default */
401401
const char *endslash = strrchr(path, '/');
402-
if(endslash) {
403-
size_t pathlen = (endslash - path + 1); /* include end slash */
404-
co->path = Curl_memdup0(path, pathlen);
405-
if(!co->path)
406-
result = CURLE_OUT_OF_MEMORY;
407-
}
402+
if(endslash)
403+
plen = (endslash - path + 1); /* include end slash */
404+
else
405+
plen = strlen(path);
408406
}
409407

410-
if(!result && co->path) {
411-
co->spath = sanitize_cookie_path(co->path);
412-
if(!co->spath)
408+
if(path) {
409+
co->path = sanitize_cookie_path(path, plen);
410+
if(!co->path)
413411
result = CURLE_OUT_OF_MEMORY;
414412
}
415413
}
@@ -734,23 +732,17 @@ static CURLcode parse_netscape(struct Cookie *co,
734732
/* The file format allows the path field to remain not filled in */
735733
if(strncmp("TRUE", ptr, len) && strncmp("FALSE", ptr, len)) {
736734
/* only if the path does not look like a boolean option! */
737-
co->path = Curl_memdup0(ptr, len);
735+
co->path = sanitize_cookie_path(ptr, len);
738736
if(!co->path)
739737
return CURLE_OUT_OF_MEMORY;
740-
else {
741-
co->spath = sanitize_cookie_path(co->path);
742-
if(!co->spath)
743-
return CURLE_OUT_OF_MEMORY;
744-
}
745738
break;
746739
}
747-
/* this does not look like a path, make one up! */
748-
co->path = curlx_strdup("/");
749-
if(!co->path)
750-
return CURLE_OUT_OF_MEMORY;
751-
co->spath = curlx_strdup("/");
752-
if(!co->spath)
753-
return CURLE_OUT_OF_MEMORY;
740+
else {
741+
/* this does not look like a path, make one up! */
742+
co->path = curlx_strdup("/");
743+
if(!co->path)
744+
return CURLE_OUT_OF_MEMORY;
745+
}
754746
fields++; /* add a field and fall down to secure */
755747
FALLTHROUGH();
756748
case 3:
@@ -875,7 +867,7 @@ static bool replace_existing(struct Curl_easy *data,
875867
matching_domains = TRUE;
876868

877869
if(matching_domains && /* the domains were identical */
878-
clist->spath && co->spath && /* both have paths */
870+
clist->path && co->path && /* both have paths */
879871
clist->secure && !co->secure && !secure) {
880872
size_t cllen;
881873
const char *sep = NULL;
@@ -887,15 +879,15 @@ static bool replace_existing(struct Curl_easy *data,
887879
* "/loginhelper" is ok.
888880
*/
889881

890-
DEBUGASSERT(clist->spath[0]);
891-
if(clist->spath[0])
892-
sep = strchr(clist->spath + 1, '/');
882+
DEBUGASSERT(clist->path[0]);
883+
if(clist->path[0])
884+
sep = strchr(clist->path + 1, '/');
893885
if(sep)
894-
cllen = sep - clist->spath;
886+
cllen = sep - clist->path;
895887
else
896-
cllen = strlen(clist->spath);
888+
cllen = strlen(clist->path);
897889

898-
if(curl_strnequal(clist->spath, co->spath, cllen)) {
890+
if(curl_strnequal(clist->path, co->path, cllen)) {
899891
infof(data, "cookie '%s' for domain '%s' dropped, would "
900892
"overlay an existing cookie", co->name, co->domain);
901893
return FALSE;
@@ -918,10 +910,10 @@ static bool replace_existing(struct Curl_easy *data,
918910
if(replace_old) {
919911
/* the domains were identical */
920912

921-
if(clist->spath && co->spath &&
922-
!curl_strequal(clist->spath, co->spath))
913+
if(clist->path && co->path &&
914+
!curl_strequal(clist->path, co->path))
923915
replace_old = FALSE;
924-
else if(!clist->spath != !co->spath)
916+
else if(!clist->path != !co->path)
925917
replace_old = FALSE;
926918
}
927919

@@ -1007,7 +999,7 @@ Curl_cookie_add(struct Curl_easy *data,
1007999
* The __Host- prefix requires the cookie to be secure, have a "/" path
10081000
* and not have a domain set.
10091001
*/
1010-
if(co->secure && co->path && strcmp(co->path, "/") == 0 && !co->tailmatch)
1002+
if(co->secure && co->path && !strcmp(co->path, "/") && !co->tailmatch)
10111003
;
10121004
else
10131005
goto fail;
@@ -1324,7 +1316,7 @@ CURLcode Curl_cookie_getlist(struct Curl_easy *data,
13241316
* now check the left part of the path with the cookies path
13251317
* requirement
13261318
*/
1327-
if(!co->spath || pathmatch(co->spath, path)) {
1319+
if(!co->path || pathmatch(co->path, path)) {
13281320

13291321
/*
13301322
* This is a match and we add it to the return-linked-list

lib/cookie.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ struct Cookie {
3434
struct Curl_llist_node getnode; /* for getlist */
3535
char *name; /* <this> = value */
3636
char *value; /* name = <this> */
37-
char *path; /* path = <this> which is in Set-Cookie: */
38-
char *spath; /* sanitized cookie path */
37+
char *path; /* canonical path */
3938
char *domain; /* domain = <this> */
4039
curl_off_t expires; /* expires = <this> */
4140
unsigned int creationtime; /* time when the cookie was written */

tests/data/test1105

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ userid=myname&password=mypassword
6161
# https://curl.se/docs/http-cookies.html
6262
# This file was generated by libcurl! Edit at your own risk.
6363

64-
127.0.0.1 FALSE "/silly/" FALSE 0 mismatch this
65-
127.0.0.1 FALSE /we/want/ FALSE 0 foobar name
64+
127.0.0.1 FALSE /silly FALSE 0 mismatch this
65+
127.0.0.1 FALSE /we/want FALSE 0 foobar name
6666
</file>
6767
</verify>
6868
</testcase>

tests/data/test1561

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Accept: */*
9898
www.example.com FALSE / TRUE 0 __Host-SID 12346
9999
.example.com TRUE / TRUE 0 supersupersuper secret
100100
.example.com TRUE / TRUE 0 __SecURE-SID 12346
101-
.example.com TRUE /%TESTNUMBER/login/ TRUE 0 supersuper secret
101+
.example.com TRUE /%TESTNUMBER/login TRUE 0 supersuper secret
102102
.example.com TRUE /1561 TRUE 0 super secret
103103
</file>
104104

tests/data/test1903

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ cookies
5555
# https://curl.se/docs/http-cookies.html
5656
# This file was generated by libcurl! Edit at your own risk.
5757

58-
%HOSTIP FALSE /we/want/ FALSE 0 foobar name
59-
%HOSTIP FALSE /we/want/ FALSE 0 secondcookie present
58+
%HOSTIP FALSE /we/want FALSE 0 foobar name
59+
%HOSTIP FALSE /we/want FALSE 0 secondcookie present
6060
</file>
6161
</verify>
6262
</testcase>

tests/data/test1905

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ Accept: */*
5353
# https://curl.se/docs/http-cookies.html
5454
# This file was generated by libcurl! Edit at your own risk.
5555

56-
%HOSTIP FALSE /we/want/ FALSE 0 secondcookie present
57-
%HOSTIP FALSE /we/want/ FALSE 0 foobar name
56+
%HOSTIP FALSE /we/want FALSE 0 secondcookie present
57+
%HOSTIP FALSE /we/want FALSE 0 foobar name
5858
</file>
5959
</verify>
6060
</testcase>

tests/data/test31

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -111,22 +111,22 @@ Accept: */*
111111
# https://curl.se/docs/http-cookies.html
112112
# This file was generated by libcurl! Edit at your own risk.
113113

114-
test31.curl FALSE /we/want/ FALSE 0 %hex[%c3%82%c2%b3%c3%83%5c%78%39%32%c3%83%5c%78%39%61%c3%83%5c%78%38%64%c3%83%5c%78%39%37]hex% %96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A
115-
test31.curl FALSE /we/want/ FALSE 0 prespace yes before
116-
test31.curl FALSE /we/want/ FALSE 0 withspaces2 before equals
117-
test31.curl FALSE /we/want/ FALSE 0 withspaces yes within and around
118-
.test31.curl TRUE /we/want/ FALSE 0 blexp yesyes
119-
#HttpOnly_test31.curl FALSE /silly/ FALSE 0 magic yessir
120-
test31.curl FALSE /we/want/ FALSE %days[400] nodomain value
114+
test31.curl FALSE /we/want FALSE 0 %hex[%c3%82%c2%b3%c3%83%5c%78%39%32%c3%83%5c%78%39%61%c3%83%5c%78%38%64%c3%83%5c%78%39%37]hex% %96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A
115+
test31.curl FALSE /we/want FALSE 0 prespace yes before
116+
test31.curl FALSE /we/want FALSE 0 withspaces2 before equals
117+
test31.curl FALSE /we/want FALSE 0 withspaces yes within and around
118+
.test31.curl TRUE /we/want FALSE 0 blexp yesyes
119+
#HttpOnly_test31.curl FALSE /silly FALSE 0 magic yessir
120+
test31.curl FALSE /we/want FALSE %days[400] nodomain value
121121
.test31.curl TRUE / FALSE 0 partmatch present
122-
#HttpOnly_.test31.curl TRUE /p4/ FALSE 0 httponly myvalue1
123-
#HttpOnly_.test31.curl TRUE /p4/ FALSE 0 httpo4 value4
124-
#HttpOnly_.test31.curl TRUE /p3/ FALSE 0 httpo3 value3
125-
#HttpOnly_.test31.curl TRUE /p2/ FALSE 0 httpo2 value2
126-
#HttpOnly_.test31.curl TRUE /p1/ FALSE 0 httpo1 value1
122+
#HttpOnly_.test31.curl TRUE /p4 FALSE 0 httponly myvalue1
123+
#HttpOnly_.test31.curl TRUE /p4 FALSE 0 httpo4 value4
124+
#HttpOnly_.test31.curl TRUE /p3 FALSE 0 httpo3 value3
125+
#HttpOnly_.test31.curl TRUE /p2 FALSE 0 httpo2 value2
126+
#HttpOnly_.test31.curl TRUE /p1 FALSE 0 httpo1 value1
127127
.test31.curl TRUE /overwrite FALSE 0 overwrite this2
128-
.test31.curl TRUE /silly/ FALSE 0 ISMATCH this
129-
.test31.curl TRUE /silly/ FALSE 0 ismatch this
128+
.test31.curl TRUE /silly FALSE 0 ISMATCH this
129+
.test31.curl TRUE /silly FALSE 0 ismatch this
130130
test31.curl FALSE / FALSE 0 blankdomain sure
131131
</file>
132132
</verify>

tests/data/test420

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ http://%HOSTIP:%HTTPPORT/func_test/del_cookie -b %LOGDIR/cookie%TESTNUMBER -c %L
4444
#HttpOnly_%HOSTIP FALSE /func_test FALSE 21709598616 mycookie5 990
4545
#HttpOnly_%HOSTIP FALSE /func_test FALSE 21709598616 mycookie4 950
4646
#HttpOnly_%HOSTIP FALSE /func_test FALSE 21709598616 mycookie3 900
47-
#HttpOnly_%HOSTIP FALSE /func_test/ FALSE 21709598616 mycookie2 5900
47+
#HttpOnly_%HOSTIP FALSE /func_test FALSE 21709598616 mycookie2 5900
4848
#HttpOnly_%HOSTIP FALSE / FALSE 21709598616 mycookie1 4900
49-
#HttpOnly_%HOSTIP FALSE /func_test/ FALSE 0 mycookie 1200
49+
#HttpOnly_%HOSTIP FALSE /func_test FALSE 0 mycookie 1200
5050
</file>
5151
<features>
5252
cookies
@@ -61,15 +61,15 @@ GET /func_test/del_cookie HTTP/1.1
6161
Host: %HOSTIP:%HTTPPORT
6262
User-Agent: curl/%VERSION
6363
Accept: */*
64-
Cookie: mycookie2=5900; mycookie=1200; mycookie3=900; mycookie4=950; mycookie5=990; mycookie6=991; mycookie1=4900
64+
Cookie: mycookie2=5900; mycookie3=900; mycookie4=950; mycookie5=990; mycookie6=991; mycookie=1200; mycookie1=4900
6565

6666
</protocol>
6767
<file name="%LOGDIR/save%TESTNUMBER" mode="text">
6868
# Netscape HTTP Cookie File
6969
# https://curl.se/docs/http-cookies.html
7070
# This file was generated by libcurl! Edit at your own risk.
7171

72-
#HttpOnly_127.0.0.1 FALSE /func_test/ FALSE 21709598616 mycookie2 5900
72+
#HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie2 5900
7373
</file>
7474
</verify>
7575
</testcase>

tests/data/test444

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -138,56 +138,56 @@ Accept: */*
138138
# https://curl.se/docs/http-cookies.html
139139
# This file was generated by libcurl! Edit at your own risk.
140140

141-
attack.invalid FALSE /a/b/ FALSE 0 cookie-50 yes
142-
attack.invalid FALSE /a/b/ FALSE 0 cookie-49 yes
143-
attack.invalid FALSE /a/b/ FALSE 0 cookie-48 yes
144-
attack.invalid FALSE /a/b/ FALSE 0 cookie-47 yes
145-
attack.invalid FALSE /a/b/ FALSE 0 cookie-46 yes
146-
attack.invalid FALSE /a/b/ FALSE 0 cookie-45 yes
147-
attack.invalid FALSE /a/b/ FALSE 0 cookie-44 yes
148-
attack.invalid FALSE /a/b/ FALSE 0 cookie-43 yes
149-
attack.invalid FALSE /a/b/ FALSE 0 cookie-42 yes
150-
attack.invalid FALSE /a/b/ FALSE 0 cookie-41 yes
151-
attack.invalid FALSE /a/b/ FALSE 0 cookie-40 yes
152-
attack.invalid FALSE /a/b/ FALSE 0 cookie-39 yes
153-
attack.invalid FALSE /a/b/ FALSE 0 cookie-38 yes
154-
attack.invalid FALSE /a/b/ FALSE 0 cookie-37 yes
155-
attack.invalid FALSE /a/b/ FALSE 0 cookie-36 yes
156-
attack.invalid FALSE /a/b/ FALSE 0 cookie-35 yes
157-
attack.invalid FALSE /a/b/ FALSE 0 cookie-34 yes
158-
attack.invalid FALSE /a/b/ FALSE 0 cookie-33 yes
159-
attack.invalid FALSE /a/b/ FALSE 0 cookie-32 yes
160-
attack.invalid FALSE /a/b/ FALSE 0 cookie-31 yes
161-
attack.invalid FALSE /a/b/ FALSE 0 cookie-30 yes
162-
attack.invalid FALSE /a/b/ FALSE 0 cookie-29 yes
163-
attack.invalid FALSE /a/b/ FALSE 0 cookie-28 yes
164-
attack.invalid FALSE /a/b/ FALSE 0 cookie-27 yes
165-
attack.invalid FALSE /a/b/ FALSE 0 cookie-26 yes
166-
attack.invalid FALSE /a/b/ FALSE 0 cookie-25 yes
167-
attack.invalid FALSE /a/b/ FALSE 0 cookie-24 yes
168-
attack.invalid FALSE /a/b/ FALSE 0 cookie-23 yes
169-
attack.invalid FALSE /a/b/ FALSE 0 cookie-22 yes
170-
attack.invalid FALSE /a/b/ FALSE 0 cookie-21 yes
171-
attack.invalid FALSE /a/b/ FALSE 0 cookie-20 yes
172-
attack.invalid FALSE /a/b/ FALSE 0 cookie-19 yes
173-
attack.invalid FALSE /a/b/ FALSE 0 cookie-18 yes
174-
attack.invalid FALSE /a/b/ FALSE 0 cookie-17 yes
175-
attack.invalid FALSE /a/b/ FALSE 0 cookie-16 yes
176-
attack.invalid FALSE /a/b/ FALSE 0 cookie-15 yes
177-
attack.invalid FALSE /a/b/ FALSE 0 cookie-14 yes
178-
attack.invalid FALSE /a/b/ FALSE 0 cookie-13 yes
179-
attack.invalid FALSE /a/b/ FALSE 0 cookie-12 yes
180-
attack.invalid FALSE /a/b/ FALSE 0 cookie-11 yes
181-
attack.invalid FALSE /a/b/ FALSE 0 cookie-10 yes
182-
attack.invalid FALSE /a/b/ FALSE 0 cookie-9 yes
183-
attack.invalid FALSE /a/b/ FALSE 0 cookie-8 yes
184-
attack.invalid FALSE /a/b/ FALSE 0 cookie-7 yes
185-
attack.invalid FALSE /a/b/ FALSE 0 cookie-6 yes
186-
attack.invalid FALSE /a/b/ FALSE 0 cookie-5 yes
187-
attack.invalid FALSE /a/b/ FALSE 0 cookie-4 yes
188-
attack.invalid FALSE /a/b/ FALSE 0 cookie-3 yes
189-
attack.invalid FALSE /a/b/ FALSE 0 cookie-2 yes
190-
attack.invalid FALSE /a/b/ FALSE 0 cookie-1 yes
141+
attack.invalid FALSE /a/b FALSE 0 cookie-50 yes
142+
attack.invalid FALSE /a/b FALSE 0 cookie-49 yes
143+
attack.invalid FALSE /a/b FALSE 0 cookie-48 yes
144+
attack.invalid FALSE /a/b FALSE 0 cookie-47 yes
145+
attack.invalid FALSE /a/b FALSE 0 cookie-46 yes
146+
attack.invalid FALSE /a/b FALSE 0 cookie-45 yes
147+
attack.invalid FALSE /a/b FALSE 0 cookie-44 yes
148+
attack.invalid FALSE /a/b FALSE 0 cookie-43 yes
149+
attack.invalid FALSE /a/b FALSE 0 cookie-42 yes
150+
attack.invalid FALSE /a/b FALSE 0 cookie-41 yes
151+
attack.invalid FALSE /a/b FALSE 0 cookie-40 yes
152+
attack.invalid FALSE /a/b FALSE 0 cookie-39 yes
153+
attack.invalid FALSE /a/b FALSE 0 cookie-38 yes
154+
attack.invalid FALSE /a/b FALSE 0 cookie-37 yes
155+
attack.invalid FALSE /a/b FALSE 0 cookie-36 yes
156+
attack.invalid FALSE /a/b FALSE 0 cookie-35 yes
157+
attack.invalid FALSE /a/b FALSE 0 cookie-34 yes
158+
attack.invalid FALSE /a/b FALSE 0 cookie-33 yes
159+
attack.invalid FALSE /a/b FALSE 0 cookie-32 yes
160+
attack.invalid FALSE /a/b FALSE 0 cookie-31 yes
161+
attack.invalid FALSE /a/b FALSE 0 cookie-30 yes
162+
attack.invalid FALSE /a/b FALSE 0 cookie-29 yes
163+
attack.invalid FALSE /a/b FALSE 0 cookie-28 yes
164+
attack.invalid FALSE /a/b FALSE 0 cookie-27 yes
165+
attack.invalid FALSE /a/b FALSE 0 cookie-26 yes
166+
attack.invalid FALSE /a/b FALSE 0 cookie-25 yes
167+
attack.invalid FALSE /a/b FALSE 0 cookie-24 yes
168+
attack.invalid FALSE /a/b FALSE 0 cookie-23 yes
169+
attack.invalid FALSE /a/b FALSE 0 cookie-22 yes
170+
attack.invalid FALSE /a/b FALSE 0 cookie-21 yes
171+
attack.invalid FALSE /a/b FALSE 0 cookie-20 yes
172+
attack.invalid FALSE /a/b FALSE 0 cookie-19 yes
173+
attack.invalid FALSE /a/b FALSE 0 cookie-18 yes
174+
attack.invalid FALSE /a/b FALSE 0 cookie-17 yes
175+
attack.invalid FALSE /a/b FALSE 0 cookie-16 yes
176+
attack.invalid FALSE /a/b FALSE 0 cookie-15 yes
177+
attack.invalid FALSE /a/b FALSE 0 cookie-14 yes
178+
attack.invalid FALSE /a/b FALSE 0 cookie-13 yes
179+
attack.invalid FALSE /a/b FALSE 0 cookie-12 yes
180+
attack.invalid FALSE /a/b FALSE 0 cookie-11 yes
181+
attack.invalid FALSE /a/b FALSE 0 cookie-10 yes
182+
attack.invalid FALSE /a/b FALSE 0 cookie-9 yes
183+
attack.invalid FALSE /a/b FALSE 0 cookie-8 yes
184+
attack.invalid FALSE /a/b FALSE 0 cookie-7 yes
185+
attack.invalid FALSE /a/b FALSE 0 cookie-6 yes
186+
attack.invalid FALSE /a/b FALSE 0 cookie-5 yes
187+
attack.invalid FALSE /a/b FALSE 0 cookie-4 yes
188+
attack.invalid FALSE /a/b FALSE 0 cookie-3 yes
189+
attack.invalid FALSE /a/b FALSE 0 cookie-2 yes
190+
attack.invalid FALSE /a/b FALSE 0 cookie-1 yes
191191
</file>
192192
</verify>
193193
</testcase>

tests/data/test46

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Cookie: empty=; mooo2=indeed2; mooo=indeed
8787
# https://curl.se/docs/http-cookies.html
8888
# This file was generated by libcurl! Edit at your own risk.
8989

90-
domain..tld FALSE /want/ FALSE 0 simplyhuge %repeat[3998 x z]%
90+
domain..tld FALSE /want FALSE 0 simplyhuge %repeat[3998 x z]%
9191
domain..tld FALSE / FALSE 0 justaname%TAB
9292
domain..tld FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE
9393
domain..tld FALSE / FALSE 0 ckySession temporary

0 commit comments

Comments
 (0)