This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.1.x by this push:
new 1a7991b38c Fix possible NPE
1a7991b38c is described below
commit 1a7991b38c973598f51f8c3864ae7817e74782b4
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 0e80360222..569030c5db 100644
--- a/java/org/apache/catalina/realm/LocalStrings.properties
+++ b/java/org/apache/catalina/realm/LocalStrings.properties
@@ -112,3 +112,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 16a3f86108..82c6c0dec7 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]