This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch tomee-9.x
in repository https://gitbox.apache.org/repos/asf/tomee.git

commit fb1276a29007ccf1bbb462f0c6064e5c3e239ecf
Author: Richard Zowalla <[email protected]>
AuthorDate: Wed Apr 19 14:35:14 2023 +0200

    Ports "Fix parameter counting logic" from 
https://github.com/apache/tomcat/commit/ba848da71c523d94950d3c53c19ea155189df9dc
---
 .../src/patch/java/org/apache/tomcat/util/http/Parameters.java       | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/tomee/apache-tomee/src/patch/java/org/apache/tomcat/util/http/Parameters.java 
b/tomee/apache-tomee/src/patch/java/org/apache/tomcat/util/http/Parameters.java
index bd86844b97..d1a2bff1e6 100644
--- 
a/tomee/apache-tomee/src/patch/java/org/apache/tomcat/util/http/Parameters.java
+++ 
b/tomee/apache-tomee/src/patch/java/org/apache/tomcat/util/http/Parameters.java
@@ -206,14 +206,15 @@ public final class Parameters {
             return;
         }
 
-        parameterCount ++;
-        if (limit > -1 && parameterCount > limit) {
+
+        if (limit > -1 && parameterCount >= limit) {
             // Processing this parameter will push us over the limit. ISE is
             // what Request.parseParts() uses for requests that are too big
             setParseFailedReason(FailReason.TOO_MANY_PARAMETERS);
             throw new IllegalStateException(sm.getString(
                     "parameters.maxCountFail", Integer.valueOf(limit)));
         }
+        parameterCount ++;
 
         paramHashValues.computeIfAbsent(key, k -> new 
ArrayList<>(1)).add(value);
     }

Reply via email to