From: Stefan Eissing Date: Tue, 26 May 2026 13:27:22 +0000 (+0200) Subject: content_encoding: fix limit failure message X-Git-Tag: rc-8_21_0-1~47 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=049ec8a3631b72e834a4a87dcd04759885138f7c;p=thirdparty%2Fcurl.git content_encoding: fix limit failure message The message triggered earlier than intended and did not take the transfer/content type into account. Ref #21603 Reported-by: Joshua Rogers Closes #21756 --- diff --git a/lib/content_encoding.c b/lib/content_encoding.c index 0224a8bfe9..aaef92a7d9 100644 --- a/lib/content_encoding.c +++ b/lib/content_encoding.c @@ -750,9 +750,10 @@ CURLcode Curl_build_unencoding_stack(struct Curl_easy *data, return CURLE_OK; } - if(Curl_cwriter_count(data, phase) + 1 >= MAX_ENCODE_STACK) { - failf(data, "Reject response due to more than %d content encodings", - MAX_ENCODE_STACK); + if(Curl_cwriter_count(data, phase) >= MAX_ENCODE_STACK) { + failf(data, "Reject response exceeding limit of %d %s encodings", + MAX_ENCODE_STACK, + is_transfer ? "transfer" : "content"); return CURLE_BAD_CONTENT_ENCODING; } diff --git a/tests/data/test387 b/tests/data/test387 index ebdd4b5d11..5872cd692e 100644 --- a/tests/data/test387 +++ b/tests/data/test387 @@ -51,7 +51,7 @@ Connection: TE 61 -curl: (61) Reject response due to more than 5 content encodings +curl: (61) Reject response exceeding limit of 5 transfer encodings diff --git a/tests/data/test418 b/tests/data/test418 index ccda891229..cdd25f4ba9 100644 --- a/tests/data/test418 +++ b/tests/data/test418 @@ -59,7 +59,7 @@ Connection: TE 61 -curl: (61) Reject response due to more than 5 content encodings +curl: (61) Reject response exceeding limit of 5 transfer encodings