Skip to content

Commit

Permalink
temporarily remove all inline cppcheck suppressions to check which ar…
Browse files Browse the repository at this point in the history
…e still necessary.
  • Loading branch information
eduar-hte committed Oct 21, 2024
1 parent 3e57617 commit 7738beb
Show file tree
Hide file tree
Showing 17 changed files with 29 additions and 34 deletions.
2 changes: 1 addition & 1 deletion headers/modsecurity/transaction.h
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ class Transaction : public TransactionAnchoredVariables, public TransactionSecMa
size_t getRequestBodyLength();

#ifndef NO_LOGS
void debug(int, const std::string &) const; // cppcheck-suppress functionStatic
void debug(int, const std::string &) const;
#endif
void serverLog(const RuleMessage &rm);

Expand Down
3 changes: 1 addition & 2 deletions src/compat/msvc.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +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;
if (!localtime_s(tout, tin)) return tout; // cppcheck-suppress uninitvar

return nullptr;
}
Expand Down
4 changes: 2 additions & 2 deletions src/engine/lua.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ class Lua {
public:
Lua() { }

bool load(const std::string &script, std::string *err); // cppcheck-suppress functionStatic ; triggered when compiling without LUA
int run(Transaction *t, const std::string &str = ""); // cppcheck-suppress functionStatic ; triggered when compiling without LUA
bool load(const std::string &script, std::string *err);
int run(Transaction *t, const std::string &str = "");
static bool isCompatible(const std::string &script, Lua *l, std::string *error);

#ifdef WITH_LUA
Expand Down
1 change: 0 additions & 1 deletion src/operators/geo_lookup.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ class GeoLookup : public Operator {
bool evaluate(Transaction *transaction, const std::string &exp) override;

protected:
// cppcheck-suppress functionStatic
bool debug(const Transaction *transaction, int x, const std::string &a) {
ms_dbg_a(transaction, x, a);
return true;
Expand Down
17 changes: 8 additions & 9 deletions src/operators/rbl.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,21 +66,20 @@ class Rbl : public Operator {

/** @ingroup ModSecurity_Operator */
explicit Rbl(std::unique_ptr<RunTimeString> param)
: m_service(),
: Operator("Rbl", std::move(param)),
m_service(m_string->evaluate()),
m_demandsPassword(false),
m_provider(RblProvider::UnknownProvider),
Operator("Rbl", std::move(param)) {
m_service = m_string->evaluate(); // cppcheck-suppress useInitializationList
m_provider(RblProvider::UnknownProvider) {
if (m_service.find("httpbl.org") != std::string::npos)
{
m_demandsPassword = true;
m_provider = RblProvider::httpbl;
} else if (m_service.find("uribl.com") != std::string::npos) {
m_provider = RblProvider::uribl;
} else if (m_service.find("spamhaus.org") != std::string::npos) {
m_provider = RblProvider::spamhaus;
}
} else if (m_service.find("uribl.com") != std::string::npos) {
m_provider = RblProvider::uribl;
} else if (m_service.find("spamhaus.org") != std::string::npos) {
m_provider = RblProvider::spamhaus;
}
}
bool evaluate(Transaction *transaction, RuleWithActions *rule,
const std::string& input,
RuleMessage &ruleMessage) override;
Expand Down
2 changes: 1 addition & 1 deletion src/operators/validate_dtd.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class ValidateDTD : public Operator {
}


static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback]
static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress constParameterPointer
}

private:
Expand Down
2 changes: 1 addition & 1 deletion src/operators/validate_schema.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ class ValidateSchema : public Operator {
ms_dbg_a(t, 4, s);
}

static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback]
static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress constParameterPointer
}

private:
Expand Down
2 changes: 1 addition & 1 deletion src/operators/validate_url_encoding.cc
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ bool ValidateUrlEncoding::evaluate(Transaction *transaction, RuleWithActions *ru
bool res = false;

if (input.empty() == true) {
return res; // cppcheck-suppress knownConditionTrueFalse
return res;
}

int rc = validate_url_encoding(input.c_str(), input.size(), &offset);
Expand Down
2 changes: 1 addition & 1 deletion src/operators/verify_cpf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ bool VerifyCPF::verify(const char *cpfnumber, int len) const {
c = cpf_len;

for (i = 0; i < 9; i++) {
sum += (cpf[i] * --c); // cppcheck-suppress uninitvar
sum += (cpf[i] * --c);
}

factor = (sum % cpf_len);
Expand Down
4 changes: 2 additions & 2 deletions src/operators/verify_svnr.cc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ bool VerifySVNR::verify(const char *svnrnumber, int len) const {
}
//Laufnummer mit 3, 7, 9
//Geburtsdatum mit 5, 8, 4, 2, 1, 6
sum = svnr[0] * 3 + svnr[1] * 7 + svnr[2] * 9 + svnr[4] * 5 + svnr[5] * 8 + svnr[6] * 4 + svnr[7] * 2 + svnr[8] * 1 + svnr[9] * 6; // cppcheck-suppress uninitvar
sum = svnr[0] * 3 + svnr[1] * 7 + svnr[2] * 9 + svnr[4] * 5 + svnr[5] * 8 + svnr[6] * 4 + svnr[7] * 2 + svnr[8] * 1 + svnr[9] * 6;
sum %= 11;
if(sum == 10){
sum = 0;
Expand All @@ -84,7 +84,7 @@ bool VerifySVNR::evaluate(Transaction *t, RuleWithActions *rule,
int i;

if (m_param.empty()) {
return is_svnr; // cppcheck-suppress knownConditionTrueFalse
return is_svnr;
}

for (i = 0; i < input.size() - 1 && is_svnr == false; i++) {
Expand Down
2 changes: 1 addition & 1 deletion src/request_body_processor/xml.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class XML {
static xmlParserInputBufferPtr unloadExternalEntity(const char *URI,
xmlCharEncoding enc);

static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback]
static void null_error(void *ctx, const char *msg, ...) {
}


Expand Down
6 changes: 3 additions & 3 deletions src/rule_with_actions.cc
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ RuleWithActions::RuleWithActions(
delete a;
} else if (auto sa = dynamic_cast<actions::Severity *>(a)) {
m_severity = sa;
} else if (auto lda = dynamic_cast<actions::LogData *>(a)) { // cppcheck-suppress unreadVariable ; false positive
} else if (auto lda = dynamic_cast<actions::LogData *>(a)) {
m_logData = lda;
} else if (auto ma = dynamic_cast<actions::Msg *>(a)) { // cppcheck-suppress unreadVariable ; false positive
} else if (auto ma = dynamic_cast<actions::Msg *>(a)) {
m_msg = ma;
} else if (auto sva = dynamic_cast<actions::SetVar *>(a)) {
m_actionsSetVar.push_back(sva);
Expand Down Expand Up @@ -247,7 +247,7 @@ void RuleWithActions::executeActionsAfterFullMatch(Transaction *trans,
bool containsBlock, RuleMessage &ruleMessage) {
bool disruptiveAlreadyExecuted = false;

for (const auto &a : trans->m_rules->m_defaultActions[getPhase()]) { // cppcheck-suppress ctunullpointer
for (const auto &a : trans->m_rules->m_defaultActions[getPhase()]) {
if (a.get()->action_kind != actions::Action::Kind::RunTimeOnlyIfMatchKind) {
continue;
}
Expand Down
5 changes: 2 additions & 3 deletions src/rule_with_operator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ void RuleWithOperator::updateMatchedVars(Transaction *trans, const std::string &

void RuleWithOperator::cleanMatchedVars(Transaction *trans) {
ms_dbg_a(trans, 9, "Matched vars cleaned.");
// cppcheck-suppress ctunullpointer
trans->m_variableMatchedVar.unset();
trans->m_variableMatchedVars.unset();
trans->m_variableMatchedVarName.unset();
Expand Down Expand Up @@ -167,7 +166,7 @@ void RuleWithOperator::getVariablesExceptions(Transaction &t,
inline void RuleWithOperator::getFinalVars(variables::Variables *vars,
variables::Variables *exclusion, Transaction *trans) {
variables::Variables addition;
getVariablesExceptions(*trans, exclusion, &addition); // cppcheck-suppress ctunullpointer
getVariablesExceptions(*trans, exclusion, &addition);

for (int i = 0; i < m_variables->size(); i++) {
Variable *variable = m_variables->at(i);
Expand Down Expand Up @@ -203,7 +202,7 @@ inline void RuleWithOperator::getFinalVars(variables::Variables *vars,
bool RuleWithOperator::evaluate(Transaction *trans,
RuleMessage &ruleMessage) {
bool globalRet = false;
const variables::Variables *variables = this->m_variables; // cppcheck-suppress unreadVariable ; false positive
const variables::Variables *variables = this->m_variables;
bool recursiveGlobalRet;
bool containsBlock = hasBlockAction();
std::string eparam;
Expand Down
4 changes: 2 additions & 2 deletions src/rules_set_properties.cc
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ void ConfigUnicodeMap::loadConfig(std::string f, double configCodePage,

if (mapping != NULL) {
ucode = strtok_r(mapping, ":", &hmap);
sscanf(ucode, "%x", &code); // cppcheck-suppress invalidScanfArgType_int
sscanf(hmap, "%x", &Map); // cppcheck-suppress invalidScanfArgType_int
sscanf(ucode, "%x", &code);
sscanf(hmap, "%x", &Map);
if (code >= 0 && code <= 65535) {
driver->m_unicodeMapTable.m_unicodeMapTable->change(code, Map);
}
Expand Down
2 changes: 1 addition & 1 deletion src/utils/base64.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include "mbedtls/base64.h"

template<typename Operation>
inline std::string base64Helper(const char *data, const unsigned int len, Operation op) { // cppcheck-suppress syntaxError ; false positive
inline std::string base64Helper(const char *data, const unsigned int len, Operation op) {
size_t out_len = 0;

op(nullptr, 0, &out_len,
Expand Down
1 change: 0 additions & 1 deletion src/utils/shared_files.cc
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ SharedFiles::handlers_map::iterator SharedFiles::add_new_handler(
#endif
0
};
// cppcheck-suppress resourceLeak ; false positive, fp is closed in SharedFiles::close
return m_handlers.insert({ fileName, handler }).first;
}

Expand Down
4 changes: 2 additions & 2 deletions test/unit/unit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ struct TransformationTest {


template<typename TestType>
UnitTestResult perform_unit_test_once(const UnitTest &t, modsecurity::Transaction &transaction) { // cppcheck-suppress constParameterReference ; transaction can be const for transformations but not for operators
UnitTestResult perform_unit_test_once(const UnitTest &t, modsecurity::Transaction &transaction) {
std::unique_ptr<typename TestType::ItemType> item(TestType::init(t));
assert(item.get() != nullptr);

Expand Down Expand Up @@ -147,7 +147,7 @@ UnitTestResult perform_unit_test_multithreaded(const UnitTest &t, modsecurity::T
ret = results[i]; // initial value
}

return ret; // cppcheck-suppress uninitvar ; false positive, ret assigned at least once in previous loop
return ret;
}


Expand Down

0 comments on commit 7738beb

Please sign in to comment.