You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2021/07/27 15:48:13 UTC

[tomcat] branch main updated: Avoid use of Class.newInstance()

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

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 08eae2b  Avoid use of Class.newInstance()
08eae2b is described below

commit 08eae2bbe9cee174a56cefd5b61546a73f584757
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue Jul 27 16:47:54 2021 +0100

    Avoid use of Class.newInstance()
---
 java/org/apache/catalina/startup/Catalina.java | 4 ++--
 java/org/apache/naming/NamingContext.java      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/startup/Catalina.java b/java/org/apache/catalina/startup/Catalina.java
index 69f22a0..d1e1705 100644
--- a/java/org/apache/catalina/startup/Catalina.java
+++ b/java/org/apache/catalina/startup/Catalina.java
@@ -583,8 +583,8 @@ public class Catalina {
             // Load loader
             String loaderClassName = generatedCodePackage + ".DigesterGeneratedCodeLoader";
             try {
-                Digester.GeneratedCodeLoader loader =
-                        (Digester.GeneratedCodeLoader) Catalina.class.getClassLoader().loadClass(loaderClassName).newInstance();
+                Digester.GeneratedCodeLoader loader = (Digester.GeneratedCodeLoader)
+                        Catalina.class.getClassLoader().loadClass(loaderClassName).getDeclaredConstructor().newInstance();
                 Digester.setGeneratedCodeLoader(loader);
             } catch (Exception e) {
                 if (log.isDebugEnabled()) {
diff --git a/java/org/apache/naming/NamingContext.java b/java/org/apache/naming/NamingContext.java
index 30b8c95..cefa30f 100644
--- a/java/org/apache/naming/NamingContext.java
+++ b/java/org/apache/naming/NamingContext.java
@@ -868,7 +868,7 @@ public class NamingContext implements Context {
                         // Note: This may need manual constructor reflection configuration
                         Reference reference = (Reference) entry.value;
                         Class<?> factoryClass = getClass().getClassLoader().loadClass(reference.getFactoryClassName());
-                        ObjectFactory factory = (ObjectFactory) factoryClass.newInstance();
+                        ObjectFactory factory = (ObjectFactory) factoryClass.getDeclaredConstructor().newInstance();
                         obj = factory.getObjectInstance(entry.value, name, this, env);
                     }
                     if (entry.value instanceof ResourceRef) {

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