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

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


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

commit a3764f214efab450f9e83f424f349aced9d1253e
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 d3300b0cca..7ac439ff9d 100644
--- a/java/org/apache/catalina/realm/LocalStrings.properties
+++ b/java/org/apache/catalina/realm/LocalStrings.properties
@@ -119,3 +119,4 @@ realmBase.unknownAllRolesMode=Unknown mode [{0}], must be 
one of: strict, authOn
 
 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 9589207d48..548f86f3e1 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.naming.ContextBindings;
@@ -214,6 +215,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