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

rmaucher pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 9a93d1e3be927a98db12cdf480883f487d0d5481
Author: remm <[email protected]>
AuthorDate: Thu Oct 8 18:12:04 2026 +0200

    Java compat
---
 java/org/apache/catalina/core/StandardServer.java              | 10 ++++++++--
 test/org/apache/catalina/ssi/TestSsiServlet.java               |  6 +++++-
 .../catalina/startup/TesterServiceWithFailingInitializer.java  |  4 ++--
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/java/org/apache/catalina/core/StandardServer.java 
b/java/org/apache/catalina/core/StandardServer.java
index 97b1309e9f..6f7a1a8de9 100644
--- a/java/org/apache/catalina/core/StandardServer.java
+++ b/java/org/apache/catalina/core/StandardServer.java
@@ -22,6 +22,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
@@ -29,7 +30,6 @@ import java.net.SocketTimeoutException;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.nio.charset.StandardCharsets;
 import java.security.AccessControlException;
 import java.util.Random;
 import java.util.concurrent.ExecutionException;
@@ -620,7 +620,13 @@ public final class StandardServer extends 
LifecycleMBeanBase implements Server {
 
                 // Decode the received bytes as UTF-8, matching the encoding
                 // used by the stop command
-                String command = commandBytes.toString(StandardCharsets.UTF_8);
+                String command;
+                try {
+                    command = commandBytes.toString("UTF-8");
+                } catch (UnsupportedEncodingException e) {
+                    
log.error(sm.getString("standardServer.invalidShutdownCommand", 
commandBytes.toString()));
+                    return;
+                }
 
                 // Match against our command string
                 boolean match = command.equals(shutdown);
diff --git a/test/org/apache/catalina/ssi/TestSsiServlet.java 
b/test/org/apache/catalina/ssi/TestSsiServlet.java
index e6ec3b67ec..45f9c08089 100644
--- a/test/org/apache/catalina/ssi/TestSsiServlet.java
+++ b/test/org/apache/catalina/ssi/TestSsiServlet.java
@@ -89,7 +89,11 @@ public class TestSsiServlet extends TomcatBaseTest {
         addDeleteOnTearDown(appDir);
         File doc = new File(appDir, "large.shtml");
         try (Writer writer = new OutputStreamWriter(new FileOutputStream(doc), 
StandardCharsets.ISO_8859_1)) {
-            writer.write("X".repeat(20000));
+            StringBuilder outStr = new StringBuilder();
+            for (int i = 0; i < 20000; i++) {
+                outStr.append("X");
+            }
+            writer.write(outStr.toString());
             writer.write("<!--#flastmod file=\"large.shtml\" -->TAIL");
         }
 
diff --git 
a/test/org/apache/catalina/startup/TesterServiceWithFailingInitializer.java 
b/test/org/apache/catalina/startup/TesterServiceWithFailingInitializer.java
index a99f3a945c..85cab75033 100644
--- a/test/org/apache/catalina/startup/TesterServiceWithFailingInitializer.java
+++ b/test/org/apache/catalina/startup/TesterServiceWithFailingInitializer.java
@@ -18,8 +18,8 @@ package org.apache.catalina.startup;
 
 import java.util.Set;
 
-import jakarta.servlet.ServletContainerInitializer;
-import jakarta.servlet.ServletContext;
+import javax.servlet.ServletContainerInitializer;
+import javax.servlet.ServletContext;
 
 public class TesterServiceWithFailingInitializer implements 
ServletContainerInitializer {
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to