From 19ee0cd37b475dc0436172b677928ee503385b61 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Mon, 27 Mar 2017 21:55:38 +0200 Subject: [PATCH] InefficientEmptyStringCheck: Fix NPE --- .../strings/InefficientEmptyStringCheckRule.java | 2 +- .../strings/xml/InefficientEmptyStringCheck.xml | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InefficientEmptyStringCheckRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InefficientEmptyStringCheckRule.java index b465a8713b..7a02ec397f 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InefficientEmptyStringCheckRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/strings/InefficientEmptyStringCheckRule.java @@ -56,7 +56,7 @@ public class InefficientEmptyStringCheckRule extends AbstractInefficientZeroChec Node prevCall = node.jjtGetChild(node.jjtGetNumChildren() - 4); String target = prevCall.jjtGetNumChildren() > 0 ? prevCall.jjtGetChild(0).getImage() : prevCall.getImage(); - if (target != null && "trim".equals(target) || target.endsWith(".trim")) { + if (target != null && ("trim".equals(target) || target.endsWith(".trim"))) { addViolation(data, node); } } diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/strings/xml/InefficientEmptyStringCheck.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/strings/xml/InefficientEmptyStringCheck.xml index 02b6347c40..a6ed8f6961 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/strings/xml/InefficientEmptyStringCheck.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/strings/xml/InefficientEmptyStringCheck.xml @@ -179,5 +179,18 @@ public class Foo { } ]]> - + + + Verify no NPE is thrown + 0 + 0 && guardMethods.length > 0) { + configureGuards(logLevels, guardMethods); + } + } +} + ]]> +