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

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


The following commit(s) were added to refs/heads/main by this push:
     new e63c6de7a2 Minor fixes from code review
e63c6de7a2 is described below

commit e63c6de7a2ce046cedd4b84ef95b2ad5da12d15c
Author: remm <[email protected]>
AuthorDate: Mon Jun 1 15:40:39 2026 +0200

    Minor fixes from code review
---
 java/org/apache/catalina/manager/HTMLManagerServlet.java  | 10 ++++++++--
 java/org/apache/el/stream/Stream.java                     | 15 ++++++++-------
 .../jasper/optimizations/StringInterpreterEnum.java       |  2 +-
 java/org/apache/jasper/servlet/JspServletWrapper.java     |  2 +-
 4 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/java/org/apache/catalina/manager/HTMLManagerServlet.java 
b/java/org/apache/catalina/manager/HTMLManagerServlet.java
index bb2d330518..a72d174f54 100644
--- a/java/org/apache/catalina/manager/HTMLManagerServlet.java
+++ b/java/org/apache/catalina/manager/HTMLManagerServlet.java
@@ -1026,7 +1026,7 @@ public class HTMLManagerServlet extends ManagerServlet {
         int nbAffectedSessions = 0;
         for (String sessionId : sessionIds) {
             Session session = getSessionForNameAndId(cn, sessionId, smClient);
-            if (null == session) {
+            if (null == session || session.getSession() == null) {
                 // Shouldn't happen, but let's play nice...
                 if (debug >= 1) {
                     log("Cannot invalidate null session " + sessionId);
@@ -1069,6 +1069,12 @@ public class HTMLManagerServlet extends ManagerServlet {
             return false;
         }
         HttpSession httpSession = session.getSession();
+        if (httpSession == null) {
+            if (debug >= 1) {
+                log("Cannot remove attribute '" + attributeName + "' for null 
session " + sessionId);
+            }
+            return false;
+        }
         boolean wasPresent = null != httpSession.getAttribute(attributeName);
         try {
             httpSession.removeAttribute(attributeName);
@@ -1097,7 +1103,7 @@ public class HTMLManagerServlet extends ManagerServlet {
         } else if ("MaxInactiveInterval".equalsIgnoreCase(sortBy)) {
             return Comparator.comparingInt(Session::getMaxInactiveInterval);
         } else if ("new".equalsIgnoreCase(sortBy)) {
-            return Comparator.comparing(s -> 
Boolean.valueOf(s.getSession().isNew()));
+            return Comparator.comparing(s -> (s.getSession() != null) ? 
Boolean.valueOf(s.getSession().isNew()) : Boolean.FALSE);
         } else if ("locale".equalsIgnoreCase(sortBy)) {
             return 
Comparator.comparing(JspHelper::guessDisplayLocaleFromSession);
         } else if ("user".equalsIgnoreCase(sortBy)) {
diff --git a/java/org/apache/el/stream/Stream.java 
b/java/org/apache/el/stream/Stream.java
index e605af2f28..24f20bf043 100644
--- a/java/org/apache/el/stream/Stream.java
+++ b/java/org/apache/el/stream/Stream.java
@@ -114,10 +114,13 @@ public class Stream {
             protected void findNext() {
                 while (iterator.hasNext() || (inner != null && 
inner.hasNext())) {
                     if (inner == null || !inner.hasNext()) {
-                        inner = ((Stream) le.invoke(iterator.next())).iterator;
+                        Object obj = le.invoke(iterator.next());
+                        if (obj instanceof Stream) {
+                            inner = ((Stream) obj).iterator;
+                        }
                     }
 
-                    if (inner.hasNext()) {
+                    if (inner != null && inner.hasNext()) {
                         next = inner.next();
                         foundNext = true;
                         break;
@@ -371,13 +374,11 @@ public class Stream {
 
         if (iterator.hasNext()) {
             seed = iterator.next();
-        }
-
-        if (seed == null) {
-            return Optional.EMPTY;
         } else {
-            return new Optional(reduce(seed, le));
+            return Optional.EMPTY;
         }
+
+        return new Optional(reduce(seed, le));
     }
 
 
diff --git a/java/org/apache/jasper/optimizations/StringInterpreterEnum.java 
b/java/org/apache/jasper/optimizations/StringInterpreterEnum.java
index 002b3ee284..c57fb3827e 100644
--- a/java/org/apache/jasper/optimizations/StringInterpreterEnum.java
+++ b/java/org/apache/jasper/optimizations/StringInterpreterEnum.java
@@ -33,7 +33,7 @@ public class StringInterpreterEnum extends 
DefaultStringInterpreter {
     }
 
     // Can't be static
-    private final Log log = LogFactory.getLog(ELInterpreterTagSetters.class);
+    private final Log log = LogFactory.getLog(StringInterpreterEnum.class);
 
     @Override
     protected String coerceToOtherType(Class<?> c, String s, boolean 
isNamedAttribute) {
diff --git a/java/org/apache/jasper/servlet/JspServletWrapper.java 
b/java/org/apache/jasper/servlet/JspServletWrapper.java
index 2c4059bec3..be907e3652 100644
--- a/java/org/apache/jasper/servlet/JspServletWrapper.java
+++ b/java/org/apache/jasper/servlet/JspServletWrapper.java
@@ -550,7 +550,7 @@ public class JspServletWrapper {
                 Throwable t = 
ExceptionUtils.unwrapInvocationTargetException(e);
                 ExceptionUtils.handleThrowable(t);
                 // Log any exception, since it can't be passed along
-                log.error(Localizer.getMessage("jsp.error.file.not.found", 
e.getMessage()), t);
+                
log.error(Localizer.getMessage("jsp.error.servlet.destroy.failed"), t);
             }
         }
     }


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

Reply via email to