]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cookie: only count accepted cookies in Curl_cookie_add
authorDaniel Stenberg <daniel@haxx.se>
Mon, 20 Oct 2025 09:34:25 +0000 (11:34 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 21 Oct 2025 14:33:32 +0000 (16:33 +0200)
The counter used to stop accepting cookies after a certain amount has
been received in a single response would previously also count some
cookies that were not actually accepted as they were discarded after the
counter was increased.

Starting now, the counter is increased only for cookies that were
accepted.

Pointed out by ZeroPath
Closes #19157

lib/cookie.c

index 98c13e621868030763bbb3448fcd057b32dbcb3a..9b89b7df70788e50ce960016c6672a97eb6220be 100644 (file)
@@ -750,7 +750,6 @@ parse_cookie_header(struct Curl_easy *data,
   if(!co->name)
     return CERR_BAD;
 
-  data->req.setcookies++;
   return CERR_OK;
 }
 
@@ -1140,6 +1139,9 @@ Curl_cookie_add(struct Curl_easy *data,
   if(co->expires && (co->expires < ci->next_expiration))
     ci->next_expiration = co->expires;
 
+  if(httpheader)
+    data->req.setcookies++;
+
   return co;
 fail:
   freecookie(co);