diff --git a/esql-checks/src/main/java/com/exxeta/iss/sonar/esql/check/DeleteFromWithoutWhereCheck.java b/esql-checks/src/main/java/com/exxeta/iss/sonar/esql/check/DeleteFromWithoutWhereCheck.java index 0f0fd632..89fa97cd 100644 --- a/esql-checks/src/main/java/com/exxeta/iss/sonar/esql/check/DeleteFromWithoutWhereCheck.java +++ b/esql-checks/src/main/java/com/exxeta/iss/sonar/esql/check/DeleteFromWithoutWhereCheck.java @@ -42,7 +42,9 @@ public void visitPassthruStatement(PassthruStatementTree tree) { String statement = null; if (SyntacticEquivalence.skipParentheses(tree.expression()) instanceof LiteralTree) { statement = ((LiteralTree) SyntacticEquivalence.skipParentheses(tree.expression())).value().trim(); - } else if (SyntacticEquivalence + } else if (tree.expressionList()!=null + && !tree.expressionList().parameters().isEmpty() + && SyntacticEquivalence .skipParentheses(tree.expressionList().parameters().get(0)) instanceof LiteralTree) { statement = ((LiteralTree) SyntacticEquivalence.skipParentheses(tree.expressionList().parameters().get(0))) .value().trim(); diff --git a/esql-checks/src/test/resources/deleteFrom.esql b/esql-checks/src/test/resources/deleteFrom.esql index 3cf42618..9854ca3c 100644 --- a/esql-checks/src/test/resources/deleteFrom.esql +++ b/esql-checks/src/test/resources/deleteFrom.esql @@ -11,6 +11,8 @@ CREATE COMPUTE MODULE a PASSTHRU(('DELETE FROM users WHERE NAME=''name''')); --Ccompliant PASSTHRU(STMT); --Compliant PASSTHRU('SELECT * FROM dual'); --Compliant + PASSTHRU loadStatement(); --Compliant + PASSTHRU (); --Compliant END; END MODULE; \ No newline at end of file