From 556f527193be81040b272c440ce967dfd95de7b2 Mon Sep 17 00:00:00 2001 From: Slavomir Date: Tue, 12 May 2020 13:12:47 +0300 Subject: [PATCH] Exclude results in test files --- .../CWE-681/IncorrectNumericConversion.ql | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ql/src/experimental/CWE-681/IncorrectNumericConversion.ql b/ql/src/experimental/CWE-681/IncorrectNumericConversion.ql index 60116a65111..def77b696e9 100644 --- a/ql/src/experimental/CWE-681/IncorrectNumericConversion.ql +++ b/ql/src/experimental/CWE-681/IncorrectNumericConversion.ql @@ -249,9 +249,17 @@ string formatBitSize(ParserCall call) { from DataFlow::PathNode source, DataFlow::PathNode sink where - exists(Lt64BitFlowConfig cfg | cfg.hasFlowPath(source, sink)) or - exists(Lt32BitFlowConfig cfg | cfg.hasFlowPath(source, sink)) or - exists(Lt16BitFlowConfig cfg | cfg.hasFlowPath(source, sink)) + ( + exists(Lt64BitFlowConfig cfg | cfg.hasFlowPath(source, sink)) + or + exists(Lt32BitFlowConfig cfg | cfg.hasFlowPath(source, sink)) + or + exists(Lt16BitFlowConfig cfg | cfg.hasFlowPath(source, sink)) + ) and + // Exclude results in test files: + exists(File fl | fl = sink.getNode().asExpr().(NumericConversionExpr).getFile() | + not fl instanceof TestFile + ) select source.getNode(), source, sink, "Incorrect conversion of a " + formatBitSize(source.getNode().(ParserCall)) + "-bit number from " + source.getNode().(ParserCall).getParserName() + " result to a lower bit size type " +