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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
     new 8cb1f07ac9 Fix possible NPE
8cb1f07ac9 is described below

commit 8cb1f07ac9e935b6144ac55e3ce4b5b576697128
Author: remm <r...@apache.org>
AuthorDate: Mon Sep 11 12:59:15 2023 +0200

    Fix possible NPE
    
    Found by coverity.
---
 java/org/apache/catalina/realm/LocalStrings.properties | 1 +
 java/org/apache/catalina/realm/UserDatabaseRealm.java  | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/java/org/apache/catalina/realm/LocalStrings.properties 
b/java/org/apache/catalina/realm/LocalStrings.properties
index 0fe5c0cf41..eda93dd8cf 100644
--- a/java/org/apache/catalina/realm/LocalStrings.properties
+++ b/java/org/apache/catalina/realm/LocalStrings.properties
@@ -106,3 +106,4 @@ realmBase.hasRoleSuccess=Username [{0}] has role [{1}]
 
 userDatabaseRealm.lookup=Exception looking up UserDatabase under key [{0}]
 userDatabaseRealm.noDatabase=No UserDatabase component found under key [{0}]
+userDatabaseRealm.noNamingContext=Cannot access the server to retrieve the 
naming context
diff --git a/java/org/apache/catalina/realm/UserDatabaseRealm.java 
b/java/org/apache/catalina/realm/UserDatabaseRealm.java
index 2412223240..5ff8847bef 100644
--- a/java/org/apache/catalina/realm/UserDatabaseRealm.java
+++ b/java/org/apache/catalina/realm/UserDatabaseRealm.java
@@ -28,6 +28,7 @@ import javax.naming.Context;
 import org.apache.catalina.Group;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.Role;
+import org.apache.catalina.Server;
 import org.apache.catalina.User;
 import org.apache.catalina.UserDatabase;
 import org.apache.catalina.users.MemoryUserDatabase;
@@ -184,6 +185,11 @@ public class UserDatabaseRealm extends RealmBase {
                             context = ContextBindings.getClassLoader();
                             context = (Context) context.lookup("comp/env");
                         } else {
+                            Server server = getServer();
+                            if (server == null) {
+                                
containerLog.error(sm.getString("userDatabaseRealm.noNamingContext"));
+                                return null;
+                            }
                             context = getServer().getGlobalNamingContext();
                         }
                         database = (UserDatabase) context.lookup(resourceName);


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to