From abe1de2f0bbdd21d80197711cad91e2c9fef952b Mon Sep 17 00:00:00 2001 From: eric-therond Date: Thu, 27 Feb 2020 21:21:26 +0100 Subject: [PATCH] fix #16 CustomAnalysis --- ...phar => progpilot_dev20200227-212037.phar} | Bin 4901918 -> 4902107 bytes .../src/progpilot/Analysis/CustomAnalysis.php | 24 ++++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) rename builds/{progpilot_dev20200227-211719.phar => progpilot_dev20200227-212037.phar} (98%) diff --git a/builds/progpilot_dev20200227-211719.phar b/builds/progpilot_dev20200227-212037.phar similarity index 98% rename from builds/progpilot_dev20200227-211719.phar rename to builds/progpilot_dev20200227-212037.phar index 032c4197ae8c8a5a9b7542de203ef70d7e93cdd1..9075863b7c828ef048dc24c5b4229ecefc4cf962 100644 GIT binary patch delta 14369 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 B*2Dk+ delta 14403 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 VTO%@T#y0=?FGwnyh_I-z{{#AY{`CL= diff --git a/package/src/progpilot/Analysis/CustomAnalysis.php b/package/src/progpilot/Analysis/CustomAnalysis.php index 91debf29..73417fee 100644 --- a/package/src/progpilot/Analysis/CustomAnalysis.php +++ b/package/src/progpilot/Analysis/CustomAnalysis.php @@ -240,17 +240,19 @@ public static function mustVerifyDefinition($context, $instruction, $myFunc, $st $hashedValue = $myFunc->getLine(); $hashedValue.= "-".$customRule->getAction()."-".$myFunc->getSourceMyFile()->getName(); $idVuln = hash("sha256", $hashedValue); - - $temp["vuln_rule"] = Utils::encodeCharacters($customRule->getAction()); - $temp["vuln_name"] = Utils::encodeCharacters($customRule->getAttack()); - $temp["vuln_line"] = $myFunc->getLine(); - $temp["vuln_column"] = $myFunc->getColumn(); - $temp["vuln_file"] = Utils::encodeCharacters($myFunc->getSourceMyFile()->getName()); - $temp["vuln_description"] = Utils::encodeCharacters($customRule->getDescription()); - $temp["vuln_cwe"] = Utils::encodeCharacters($customRule->getCwe()); - $temp["vuln_id"] = $idVuln; - $temp["vuln_type"] = "custom"; - $context->outputs->addResult($temp); + + if(is_null($context->inputs->getFalsePositiveById($idVuln))) { + $temp["vuln_rule"] = Utils::encodeCharacters($customRule->getAction()); + $temp["vuln_name"] = Utils::encodeCharacters($customRule->getAttack()); + $temp["vuln_line"] = $myFunc->getLine(); + $temp["vuln_column"] = $myFunc->getColumn(); + $temp["vuln_file"] = Utils::encodeCharacters($myFunc->getSourceMyFile()->getName()); + $temp["vuln_description"] = Utils::encodeCharacters($customRule->getDescription()); + $temp["vuln_cwe"] = Utils::encodeCharacters($customRule->getCwe()); + $temp["vuln_id"] = $idVuln; + $temp["vuln_type"] = "custom"; + $context->outputs->addResult($temp); + } } } }