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