diff --git a/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/rules/checkers/SendMessageChecker.java b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/rules/checkers/SendMessageChecker.java index 237e154..3ef34d9 100644 --- a/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/rules/checkers/SendMessageChecker.java +++ b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/rules/checkers/SendMessageChecker.java @@ -36,6 +36,12 @@ public class SendMessageChecker extends SquidCheck { CxxGrammarImpl.functionBody ); } + private static List lists = new ArrayList(){{ + add("weapon"); + add("unit"); + add("param"); + }}; + /** * 访问AST节点 @@ -45,10 +51,7 @@ public class SendMessageChecker extends SquidCheck { @Override public void visitNode(@Nonnull AstNode node) { //创建集合存入违规敏感字段 - List lists = new ArrayList(); - lists.add("weapon"); - lists.add("unit"); - lists.add("param"); + //获取到所有的表达式 List descendants = node.getDescendants(CxxGrammarImpl.expression); for (AstNode des:descendants) { @@ -62,7 +65,8 @@ public class SendMessageChecker extends SquidCheck { if("STRING".equals(astNode.getName())){ }else { - if(lists.contains(astNode.getTokenValue())){ + //判斷其中是否包含敏感字段 + if(lists.contains(astNode.getTokenValue().toLowerCase())){ getContext().createLineViolation(this,"发送敏感信息前应对敏感信息进行加密",des); } }