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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]