From e4dea98d7307f36b074381792da62f12ca85b7eb Mon Sep 17 00:00:00 2001 From: Nicolas Peltier Date: Wed, 9 Jan 2019 11:48:47 +0100 Subject: [PATCH] SLING-8205 stop spitting NSFE crawling through getFields. This can still send an IllegalAccessException, but this happens much less --- .../scripting/sightly/render/ObjectModel.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java b/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java index 6b437d7..e3ef0ad 100644 --- a/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java +++ b/src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java @@ -367,12 +367,17 @@ public static Object getField(Object object, String fieldName) { if (cls.isArray() && "length".equals(fieldName)) { return Array.getLength(object); } - try { - Field field = cls.getField(fieldName); - return field.get(object); - } catch (Exception e) { - return null; + for (Field field : cls.getFields()){ + if (field.getName().equals(fieldName)){ + try { + return field.get(object); + } + catch (IllegalAccessException e) { + return null; + } + } } + return null; } /**