Added const reported by cppcheck 2.14

This commit is contained in:
Eduardo Arias
2024-04-28 21:23:43 -03:00
committed by Eduardo Arias
parent d053ec6de6
commit bbef22b3b5
46 changed files with 110 additions and 112 deletions

View File

@@ -84,10 +84,10 @@ bool RuleRemoveById::init(std::string *error) {
}
bool RuleRemoveById::evaluate(RuleWithActions *rule, Transaction *transaction) {
for (auto &i : m_ids) {
for (const auto &i : m_ids) {
transaction->m_ruleRemoveById.push_back(i);
}
for (auto &i : m_ranges) {
for (const auto &i : m_ranges) {
transaction->m_ruleRemoveByIdRange.push_back(i);
}

View File

@@ -26,7 +26,7 @@ static inline int inplace(std::string &value) {
const auto len = value.length();
auto d = reinterpret_cast<unsigned char *>(value.data());
const auto data = d;
const auto *data = d;
for (int i = 0; i <= len - 2; i += 2) {
*d++ = utils::string::x2c(&data[i]);

View File

@@ -118,7 +118,7 @@ static inline bool inplace(std::string &value) {
j++;
}
if (j > k) { /* Do we have at least one digit? */
const auto x = reinterpret_cast<const char*>(&input[k]);
const auto *x = reinterpret_cast<const char*>(&input[k]);
/* Decode the entity. */
/* ENH What about others? */

View File

@@ -29,9 +29,6 @@ bool NormalisePath::transform(std::string &value, const Transaction *trans) cons
* IMP1 Assumes NUL-terminated
*/
bool NormalisePath::normalize_path_inplace(std::string &val, const bool win) {
unsigned char *src;
unsigned char *dst;
unsigned char *end;
int hitroot = 0;
int done = 0;
int relative;
@@ -49,13 +46,13 @@ bool NormalisePath::normalize_path_inplace(std::string &val, const bool win) {
* ENH: Deal with UNC and drive letters?
*/
src = dst = input;
end = input + (input_len - 1);
auto src = input;
auto dst = input;
const auto *end = input + (input_len - 1);
relative = ((*input == '/') || (win && (*input == '\\'))) ? 0 : 1;
trailing = ((*end == '/') || (win && (*end == '\\'))) ? 1 : 0;
while (!done && (src <= end) && (dst <= end)) {
/* Convert backslash to forward slash on Windows only. */
if (win) {
@@ -152,7 +149,7 @@ copy:
/* Skip to the last forward slash when multiple are used. */
if (*src == '/') {
unsigned char *oldsrc = src;
const unsigned char *oldsrc = src;
while ((src < end)
&& ((*(src + 1) == '/') || (win && (*(src + 1) == '\\'))) ) {

View File

@@ -38,7 +38,7 @@ static inline bool inplace(std::string &value) {
auto d = reinterpret_cast<unsigned char*>(value.data());
const unsigned char *data = d;
const auto end = data + value.size();
const auto *end = data + value.size();
bool changed = false;

View File

@@ -559,7 +559,7 @@ void LMDB::resolveMultiMatches(const std::string& var,
continue;
}
char *a = reinterpret_cast<char *>(key.mv_data);
const char *a = reinterpret_cast<char *>(key.mv_data);
if (strncmp(var.c_str(), a, keySize) == 0) {
std::string key_to_insert(reinterpret_cast<char *>(key.mv_data), key.mv_size);
l->insert(l->begin(), new VariableValue(&m_name, &key_to_insert, &collectionData.getValue()));

View File

@@ -114,14 +114,14 @@ int Lua::blob_keeper(lua_State *L, const void *p, size_t sz, void *ud) {
const char *Lua::blob_reader(lua_State *L, void *ud, size_t *size) {
LuaScriptBlob *lsb = static_cast<LuaScriptBlob *>(ud);
const LuaScriptBlob *lsb = static_cast<LuaScriptBlob *>(ud);
const char *data = lsb->read(size);
return data;
}
#endif
int Lua::run(Transaction *t, const std::string &str) {
int Lua::run(Transaction *t, const std::string &str) { // cppcheck-suppress constParameterPointer
#ifdef WITH_LUA
std::string luaRet;
const char *a = NULL;

View File

@@ -33,7 +33,7 @@ class GeoLookup : public Operator {
protected:
// cppcheck-suppress functionStatic
bool debug(Transaction *transaction, int x, const std::string &a) {
bool debug(const Transaction *transaction, int x, const std::string &a) {
ms_dbg_a(transaction, x, a);
return true;
}

View File

@@ -136,7 +136,7 @@ class Operator {
std::string m_match_message;
bool m_negation;
std::string m_op;
const std::string m_op;
std::string m_param;
std::unique_ptr<RunTimeString> m_string;
bool m_couldContainsMacro;

View File

@@ -73,8 +73,8 @@ std::string Rbl::mapIpToAddress(const std::string &ipStr, Transaction *trans) co
void Rbl::futherInfo_httpbl(struct sockaddr_in *sin, const std::string &ipStr,
Transaction *trans) {
char *respBl;
const Transaction *trans) {
const char *respBl;
int first, days, score, type;
#ifndef NO_LOGS
std::string ptype;
@@ -131,7 +131,7 @@ void Rbl::futherInfo_httpbl(struct sockaddr_in *sin, const std::string &ipStr,
void Rbl::futherInfo_spamhaus(unsigned int high8bits, const std::string &ipStr,
Transaction *trans) {
const Transaction *trans) {
switch (high8bits) {
case 2:
case 3:
@@ -158,7 +158,7 @@ void Rbl::futherInfo_spamhaus(unsigned int high8bits, const std::string &ipStr,
void Rbl::futherInfo_uribl(unsigned int high8bits, const std::string &ipStr,
Transaction *trans) {
const Transaction *trans) {
switch (high8bits) {
case 2:
ms_dbg_a(trans, 4, "RBL lookup of " + ipStr + " succeeded (BLACK).");
@@ -185,7 +185,7 @@ void Rbl::futherInfo_uribl(unsigned int high8bits, const std::string &ipStr,
void Rbl::furtherInfo(struct sockaddr_in *sin, const std::string &ipStr,
Transaction *trans, RblProvider provider) {
const Transaction *trans, RblProvider provider) {
unsigned int high8bits = sin->sin_addr.s_addr >> 24;
switch (provider) {

View File

@@ -88,13 +88,13 @@ class Rbl : public Operator {
std::string mapIpToAddress(const std::string &ipStr, Transaction *trans) const;
static void futherInfo_httpbl(struct sockaddr_in *sin, const std::string &ipStr,
Transaction *trans);
const Transaction *trans);
static void futherInfo_spamhaus(unsigned int high8bits, const std::string &ipStr,
Transaction *trans);
const Transaction *trans);
static void futherInfo_uribl(unsigned int high8bits, const std::string &ipStr,
Transaction *trans);
const Transaction *trans);
static void furtherInfo(struct sockaddr_in *sin, const std::string &ipStr,
Transaction *trans, RblProvider provider);
const Transaction *trans, RblProvider provider);
private:
std::string m_service;

View File

@@ -62,7 +62,7 @@ class ValidateDTD : public Operator {
static void error_runtime(void *ctx, const char *msg, ...) {
Transaction *t = reinterpret_cast<Transaction *>(ctx);
const Transaction *t = reinterpret_cast<Transaction *>(ctx);
char buf[1024];
std::string s;
va_list args;
@@ -79,7 +79,7 @@ class ValidateDTD : public Operator {
static void warn_runtime(void *ctx, const char *msg, ...) {
Transaction *t = reinterpret_cast<Transaction *>(ctx);
const Transaction *t = reinterpret_cast<Transaction *>(ctx);
char buf[1024];
std::string s;
va_list args;
@@ -95,7 +95,7 @@ class ValidateDTD : public Operator {
}
static void null_error(void *ctx, const char *msg, ...) {
static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback]
}
private:

View File

@@ -75,7 +75,7 @@ class ValidateSchema : public Operator {
static void error_runtime(void *ctx, const char *msg, ...) {
Transaction *t = reinterpret_cast<Transaction *>(ctx);
const Transaction *t = reinterpret_cast<Transaction *>(ctx);
char buf[1024];
std::string s;
va_list args;
@@ -92,7 +92,7 @@ class ValidateSchema : public Operator {
static void warn_runtime(void *ctx, const char *msg, ...) {
Transaction *t = reinterpret_cast<Transaction *>(ctx);
const Transaction *t = reinterpret_cast<Transaction *>(ctx);
char buf[1024];
std::string s;
va_list args;
@@ -107,7 +107,7 @@ class ValidateSchema : public Operator {
ms_dbg_a(t, 4, s);
}
static void null_error(void *ctx, const char *msg, ...) {
static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback]
}
private:

View File

@@ -38,7 +38,7 @@ int VerifyCPF::convert_to_int(const char c) {
}
bool VerifyCPF::verify(const char *cpfnumber, int len) {
bool VerifyCPF::verify(const char *cpfnumber, int len) const {
int factor, part_1, part_2, var_len = len;
unsigned int sum = 0, i = 0, cpf_len = 11, c;
int cpf[11];

View File

@@ -45,7 +45,7 @@ class VerifyCPF : public Operator {
const std::string& input,
RuleMessage &ruleMessage) override;
bool verify(const char *ssnumber, int len);
bool verify(const char *ssnumber, int len) const;
private:
static int convert_to_int(const char c);

View File

@@ -24,7 +24,7 @@ int VerifySVNR::convert_to_int(const char c) {
}
bool VerifySVNR::verify(const char *svnrnumber, int len) {
bool VerifySVNR::verify(const char *svnrnumber, int len) const {
int var_len = len;
int sum = 0;
unsigned int i = 0, svnr_len = 10;

View File

@@ -31,7 +31,7 @@ class VerifySVNR : public Operator {
const std::string& input,
RuleMessage &ruleMessage) override;
bool verify(const char *ssnumber, int len);
bool verify(const char *ssnumber, int len) const;
private:
std::unique_ptr<Regex> m_re;

View File

@@ -107,9 +107,9 @@ int Driver::addSecRule(std::unique_ptr<RuleWithActions> r) {
}
for (int i = 0; i < modsecurity::Phases::NUMBER_OF_PHASES; i++) {
Rules *rules = m_rulesSetPhases[i];
const Rules *rules = m_rulesSetPhases[i];
for (int j = 0; j < rules->size(); j++) {
RuleWithOperator *lr = dynamic_cast<RuleWithOperator *>(rules->at(j).get());
const RuleWithOperator *lr = dynamic_cast<RuleWithOperator *>(rules->at(j).get());
if (lr && lr->m_ruleId == rule->m_ruleId) {
m_parserError << "Rule id: " << std::to_string(rule->m_ruleId) \
<< " is duplicated" << std::endl;

View File

@@ -131,7 +131,7 @@ int JSON::addArgument(const std::string& value) {
std::string path;
for (size_t i = 0; i < m_containers.size(); i++) {
JSONContainerArray *a = dynamic_cast<JSONContainerArray *>(
const JSONContainerArray *a = dynamic_cast<JSONContainerArray *>(
m_containers[i]);
path = path + m_containers[i]->m_name;
if (a != NULL) {

View File

@@ -79,7 +79,7 @@ class JSON {
static int yajl_end_array(void *ctx);
bool isPreviousArray() const {
JSONContainerArray *prev = NULL;
const JSONContainerArray *prev = NULL;
if (m_containers.size() < 1) {
return false;
}

View File

@@ -53,7 +53,7 @@ class XML {
static xmlParserInputBufferPtr unloadExternalEntity(const char *URI,
xmlCharEncoding enc);
static void null_error(void *ctx, const char *msg, ...) {
static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback]
}

View File

@@ -363,7 +363,7 @@ void RuleWithActions::executeTransformations(
std::make_shared<std::string>(path));
}
for (Action *a : m_transformations) {
for (const Action *a : m_transformations) {
if (a->m_isNone) {
none++;
}
@@ -457,7 +457,7 @@ bool RuleWithActions::containsMsg(const std::string& name, Transaction *t) {
std::vector<actions::Action *> RuleWithActions::getActionsByName(const std::string& name,
Transaction *trans) {
const Transaction *trans) {
std::vector<actions::Action *> ret;
for (auto &z : m_actionsRuntimePos) {
if (*z->m_name.get() == name) {

View File

@@ -176,7 +176,7 @@ inline void RuleWithOperator::getFinalVars(variables::Variables *vars,
}
if (std::find_if(trans->m_ruleRemoveTargetById.begin(),
trans->m_ruleRemoveTargetById.end(),
[&, variable, this](std::pair<int, std::string> &m) -> bool {
[&, variable, this](const auto &m) -> bool {
return m.first == m_ruleId
&& m.second == *variable->m_fullName.get();
}) != trans->m_ruleRemoveTargetById.end()) {
@@ -185,7 +185,7 @@ inline void RuleWithOperator::getFinalVars(variables::Variables *vars,
if (std::find_if(trans->m_ruleRemoveTargetByTag.begin(),
trans->m_ruleRemoveTargetByTag.end(),
[&, variable, trans, this](
std::pair<std::string, std::string> &m) -> bool {
const auto &m) -> bool {
return containsTag(m.first, trans)
&& m.second == *variable->m_fullName.get();
}) != trans->m_ruleRemoveTargetByTag.end()) {
@@ -203,7 +203,7 @@ inline void RuleWithOperator::getFinalVars(variables::Variables *vars,
bool RuleWithOperator::evaluate(Transaction *trans,
RuleMessage &ruleMessage) {
bool globalRet = false;
variables::Variables *variables = this->m_variables;
const variables::Variables *variables = this->m_variables; // cppcheck-suppress unreadVariable ; false positive
bool recursiveGlobalRet;
bool containsBlock = hasBlockAction();
std::string eparam;
@@ -270,23 +270,23 @@ bool RuleWithOperator::evaluate(Transaction *trans,
if (exclusion.contains(v) ||
std::find_if(trans->m_ruleRemoveTargetById.begin(),
trans->m_ruleRemoveTargetById.end(),
[&, v, this](std::pair<int, std::string> &m) -> bool {
[&, v, this](const auto &m) -> bool {
return m.first == m_ruleId && m.second == v->getKeyWithCollection();
}) != trans->m_ruleRemoveTargetById.end()
) {
delete v;
v = NULL;
v = nullptr;
continue;
}
if (exclusion.contains(v) ||
std::find_if(trans->m_ruleRemoveTargetByTag.begin(),
trans->m_ruleRemoveTargetByTag.end(),
[&, v, trans, this](std::pair<std::string, std::string> &m) -> bool {
[&, v, trans, this](const auto &m) -> bool {
return containsTag(m.first, trans) && m.second == v->getKeyWithCollection();
}) != trans->m_ruleRemoveTargetByTag.end()
) {
delete v;
v = NULL;
v = nullptr;
continue;
}
@@ -360,7 +360,7 @@ end_exec:
}
std::string RuleWithOperator::getOperatorName() const { return m_operator->m_op; }
const std::string& RuleWithOperator::getOperatorName() const { return m_operator->m_op; }
} // namespace modsecurity

View File

@@ -254,11 +254,11 @@ bool RulesExceptions::merge(RulesExceptions *from) {
p.second));
}
for (auto &p : from->m_remove_rule_by_msg) {
for (const auto &p : from->m_remove_rule_by_msg) {
m_remove_rule_by_msg.push_back(p);
}
for (auto &p : from->m_remove_rule_by_tag) {
for (const auto &p : from->m_remove_rule_by_tag) {
m_remove_rule_by_tag.push_back(p);
}

View File

@@ -266,7 +266,7 @@ extern "C" RulesSet *msc_create_rules_set(void) {
}
extern "C" void msc_rules_dump(RulesSet *rules) {
extern "C" void msc_rules_dump(const RulesSet *rules) {
rules->dump();
}

View File

@@ -30,9 +30,9 @@ void ConfigUnicodeMap::loadConfig(std::string f, double configCodePage,
RulesSetProperties *driver, std::string *errg) {
char *buf = NULL;
char *hmap = NULL;
char *p = NULL;
const char *p = NULL;
char *savedptr = NULL;
char *ucode = NULL;
const char *ucode = NULL;
int code = 0;
int found = 0;
int length = 0;

View File

@@ -1175,7 +1175,7 @@ int Transaction::processResponseBody() {
int Transaction::appendResponseBody(const unsigned char *buf, size_t len) {
int current_size = this->m_responseBody.tellp();
std::set<std::string> &bi = \
const std::set<std::string> &bi = \
this->m_rules->m_responseBodyTypeToBeInspected.m_value;
auto t = bi.find(m_variableResponseContentType.m_value);
if (t == bi.end() && bi.empty() == false) {
@@ -1677,7 +1677,7 @@ std::string Transaction::toJSON(int parts) {
strlen("components"));
yajl_gen_array_open(g);
for (auto a : m_rules->m_components) {
for (const auto &a : m_rules->m_components) {
yajl_gen_string(g,
reinterpret_cast<const unsigned char*>
(a.c_str()), a.length());
@@ -2197,7 +2197,7 @@ extern "C" void msc_intervention_cleanup(ModSecurityIntervention *it) {
* @retval NULL Nothing was updated.
*
*/
extern "C" const char *msc_get_response_body(Transaction *transaction) {
extern "C" const char *msc_get_response_body(const Transaction *transaction) {
return transaction->getResponseBody();
}

View File

@@ -154,7 +154,7 @@ std::list<SMatch> Regex::searchAll(const std::string& s) const {
rc = pcre2_match(m_pc, pcre2_s, s.length(),
offset, PCRE2_NO_JIT, match_data, NULL);
}
PCRE2_SIZE *ovector = pcre2_get_ovector_pointer(match_data);
const PCRE2_SIZE *ovector = pcre2_get_ovector_pointer(match_data);
#else
const char *subject = s.c_str();
int ovector[OVECCOUNT];
@@ -207,7 +207,7 @@ RegexResult Regex::searchOneMatch(const std::string& s, std::vector<SMatchCaptur
if (m_pcje != 0 || rc == PCRE2_ERROR_JIT_STACKLIMIT) {
rc = pcre2_match(m_pc, pcre2_s, s.length(), 0, PCRE2_NO_JIT, match_data, match_context);
}
PCRE2_SIZE *ovector = pcre2_get_ovector_pointer(match_data);
const PCRE2_SIZE *ovector = pcre2_get_ovector_pointer(match_data);
#else
const char *subject = s.c_str();
int ovector[OVECCOUNT];
@@ -261,7 +261,7 @@ RegexResult Regex::searchGlobal(const std::string& s, std::vector<SMatchCapture>
}
int rc = pcre2_match(m_pc, pcre2_s, s.length(),
startOffset, pcre2_options, match_data, match_context);
PCRE2_SIZE *ovector = pcre2_get_ovector_pointer(match_data);
const PCRE2_SIZE *ovector = pcre2_get_ovector_pointer(match_data);
#else
const char *subject = s.c_str();

View File

@@ -54,7 +54,7 @@ void Env::evaluate(Transaction *transaction,
}
const auto hasName = m_name.length() > 0;
for (auto& x : transaction->m_variableEnvs) {
for (const auto& x : transaction->m_variableEnvs) {
#ifndef WIN32
if (hasName && x.first != m_name) {
#else

View File

@@ -48,23 +48,23 @@ Variable::Variable(const std::string &name)
}
Variable::Variable(Variable *var) :
Variable::Variable(const Variable *var) :
m_name(var->m_name),
m_collectionName(var->m_collectionName),
m_fullName(var->m_fullName) { }
void Variable::addsKeyExclusion(Variable *v) {
void Variable::addsKeyExclusion(const Variable *v) {
std::unique_ptr<KeyExclusion> r;
VariableModificatorExclusion *ve = \
dynamic_cast<VariableModificatorExclusion *>(v);
VariableRegex *vr;
const auto *ve = \
dynamic_cast<const VariableModificatorExclusion *>(v);
const VariableRegex *vr;
if (!ve) {
return;
}
vr = dynamic_cast<VariableRegex *>(ve->m_base.get());
vr = dynamic_cast<const VariableRegex *>(ve->m_base.get());
if (vr == NULL) {
r.reset(new KeyExclusionString(v->m_name));
@@ -76,12 +76,12 @@ void Variable::addsKeyExclusion(Variable *v) {
}
std::string operator+(const std::string &a, Variable *v) {
std::string operator+(const std::string &a, const Variable *v) {
return a + *v->m_fullName.get();
}
std::string operator+(const std::string &a, Variables *v) {
std::string operator+(const std::string &a, const Variables *v) {
std::string test;
for (const auto &b : *v) {
if (test.empty()) {

View File

@@ -132,7 +132,7 @@ class KeyExclusionRegex : public KeyExclusion {
class KeyExclusionString : public KeyExclusion {
public:
explicit KeyExclusionString(std::string &a)
explicit KeyExclusionString(const std::string &a)
: m_key(utils::string::toupper(a)) { }
~KeyExclusionString() override { }
@@ -589,7 +589,7 @@ class VariableMonkeyResolution {
class Variable : public VariableMonkeyResolution {
public:
explicit Variable(const std::string &name);
explicit Variable(Variable *_name);
explicit Variable(const Variable *_name);
virtual ~Variable() { }
@@ -608,7 +608,7 @@ class Variable : public VariableMonkeyResolution {
}
void addsKeyExclusion(Variable *v);
void addsKeyExclusion(const Variable *v);
bool operator==(const Variable& b) const {
@@ -718,8 +718,8 @@ class VariableModificatorCount : public Variable {
};
std::string operator+(const std::string &a, modsecurity::variables::Variable *v);
std::string operator+(const std::string &a, modsecurity::variables::Variables *v);
std::string operator+(const std::string &a, const modsecurity::variables::Variable *v);
std::string operator+(const std::string &a, const modsecurity::variables::Variables *v);
} // namespace variables