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

radu pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly.git


The following commit(s) were added to refs/heads/master by this push:
     new 360df4e  SLING-7755 - JavaUseProvider might attempt to instantiate 
interfaces or abstract classes
360df4e is described below

commit 360df4ebb4faf043d4085cf277f342e966e02229
Author: Radu Cotescu <[email protected]>
AuthorDate: Wed Jun 27 13:33:48 2018 +0200

    SLING-7755 - JavaUseProvider might attempt to instantiate interfaces or 
abstract classes
    
    * applied patch from Santiago Garcia Pimentel 
<[email protected]>
---
 .../scripting/sightly/impl/engine/extension/use/JavaUseProvider.java  | 4 ++++
 1 file changed, 4 insertions(+)

diff --git 
a/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
 
b/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
index 13e95ec..e85a2fd 100644
--- 
a/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
+++ 
b/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
@@ -18,6 +18,7 @@
  
******************************************************************************/
 package org.apache.sling.scripting.sightly.impl.engine.extension.use;
 
+import java.lang.reflect.Modifier;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.regex.Pattern;
@@ -114,6 +115,9 @@ public class JavaUseProvider implements UseProvider {
                 }
                 if (result != null) {
                     return ProviderOutcome.success(result);
+                } else if(cls.isInterface() || 
Modifier.isAbstract(cls.getModifiers())){
+                    LOG.debug("Wont attempt to instantiate an interface or 
abstract class {}",cls.getName());
+                    return ProviderOutcome.failure();
                 } else {
                     /*
                      * the object was cached by the class loader but it's not 
adaptable from {@link Resource} or {@link

Reply via email to