From d053ec6de6a9a1b14dbc453fef7f12efcd202b90 Mon Sep 17 00:00:00 2001 From: Eduardo Arias Date: Wed, 21 Aug 2024 08:32:28 -0700 Subject: [PATCH] Add cppcheck suppressions for false positives --- src/actions/transformations/parity_zero_7bit.cc | 2 +- src/compat/msvc.h | 1 + src/rule_with_actions.cc | 4 ++-- src/utils/base64.cc | 2 +- src/utils/string.h | 2 +- test/unit/unit.cc | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/actions/transformations/parity_zero_7bit.cc b/src/actions/transformations/parity_zero_7bit.cc index 77ad0514..54972b93 100644 --- a/src/actions/transformations/parity_zero_7bit.cc +++ b/src/actions/transformations/parity_zero_7bit.cc @@ -22,7 +22,7 @@ namespace modsecurity::actions::transformations { static inline bool inplace(std::string &value) { if (value.empty()) return false; - for(auto &c : value) { + for(auto &c : value) { // cppcheck-suppress constVariableReference ; false positive ((unsigned char&)c) &= 0x7f; } diff --git a/src/compat/msvc.h b/src/compat/msvc.h index ce9a14c0..75630691 100644 --- a/src/compat/msvc.h +++ b/src/compat/msvc.h @@ -14,6 +14,7 @@ #define pclose _pclose inline tm* localtime_r(const time_t* tin, tm* tout) { + // cppcheck-suppress[uninitvar, ctuuninitvar] if (!localtime_s(tout, tin)) return tout; return nullptr; diff --git a/src/rule_with_actions.cc b/src/rule_with_actions.cc index 373acf1e..67961155 100644 --- a/src/rule_with_actions.cc +++ b/src/rule_with_actions.cc @@ -102,9 +102,9 @@ RuleWithActions::RuleWithActions( delete a; } else if (auto sa = dynamic_cast(a)) { m_severity = sa; - } else if (auto lda = dynamic_cast(a)) { + } else if (auto lda = dynamic_cast(a)) { // cppcheck-suppress unreadVariable ; false positive m_logData = lda; - } else if (auto ma = dynamic_cast(a)) { + } else if (auto ma = dynamic_cast(a)) { // cppcheck-suppress unreadVariable ; false positive m_msg = ma; } else if (auto sva = dynamic_cast(a)) { m_actionsSetVar.push_back(sva); diff --git a/src/utils/base64.cc b/src/utils/base64.cc index 7b1f4b07..e27cace9 100644 --- a/src/utils/base64.cc +++ b/src/utils/base64.cc @@ -24,7 +24,7 @@ #include "mbedtls/base64.h" template -inline std::string base64Helper(const char *data, const unsigned int len, Operation op) { +inline std::string base64Helper(const char *data, const unsigned int len, Operation op) { // cppcheck-suppress syntaxError ; false positive size_t out_len = 0; op(nullptr, 0, &out_len, diff --git a/src/utils/string.h b/src/utils/string.h index f5794686..ca2967aa 100644 --- a/src/utils/string.h +++ b/src/utils/string.h @@ -257,7 +257,7 @@ inline std::string string_to_hex(std::string_view input) { template -inline std::string toCaseHelper(std::string str, Operation op) { +inline std::string toCaseHelper(std::string str, Operation op) { // cppcheck-suppress syntaxError ; false positive std::transform(str.begin(), str.end(), str.begin(), diff --git a/test/unit/unit.cc b/test/unit/unit.cc index a1c6b0b3..73ba7af6 100644 --- a/test/unit/unit.cc +++ b/test/unit/unit.cc @@ -105,7 +105,7 @@ struct TransformationTest { template -UnitTestResult perform_unit_test_once(const UnitTest &t, modsecurity::Transaction &transaction) { +UnitTestResult perform_unit_test_once(const UnitTest &t, modsecurity::Transaction &transaction) { // cppcheck-suppress constParameterReference ; transaction can be const for transformations but not for operators std::unique_ptr item(TestType::init(t)); assert(item.get() != nullptr);