Skip to content

Commit 651536f

Browse files
committed
Use initialization list to initialize m_service
- This is correct because base class is initialized before members are initialized. - Removes cppcheck suppression by addressing reported issue.
1 parent b0497d9 commit 651536f

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/operators/rbl.h

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,21 +66,20 @@ class Rbl : public Operator {
6666

6767
/** @ingroup ModSecurity_Operator */
6868
explicit Rbl(std::unique_ptr<RunTimeString> param)
69-
: m_service(),
69+
: Operator("Rbl", std::move(param)),
70+
m_service(m_string->evaluate()),
7071
m_demandsPassword(false),
71-
m_provider(RblProvider::UnknownProvider),
72-
Operator("Rbl", std::move(param)) {
73-
m_service = m_string->evaluate(); // cppcheck-suppress useInitializationList
72+
m_provider(RblProvider::UnknownProvider) {
7473
if (m_service.find("httpbl.org") != std::string::npos)
7574
{
7675
m_demandsPassword = true;
7776
m_provider = RblProvider::httpbl;
78-
} else if (m_service.find("uribl.com") != std::string::npos) {
79-
m_provider = RblProvider::uribl;
80-
} else if (m_service.find("spamhaus.org") != std::string::npos) {
81-
m_provider = RblProvider::spamhaus;
82-
}
77+
} else if (m_service.find("uribl.com") != std::string::npos) {
78+
m_provider = RblProvider::uribl;
79+
} else if (m_service.find("spamhaus.org") != std::string::npos) {
80+
m_provider = RblProvider::spamhaus;
8381
}
82+
}
8483
bool evaluate(Transaction *transaction, RuleWithActions *rule,
8584
const std::string& input,
8685
RuleMessage &ruleMessage) override;

0 commit comments

Comments
 (0)