Skip to content

Commit 1e3cafb

Browse files
author
Felipe Zimmerle
committed
Fix memory management on the rules' messages (try 2)
1 parent 7197091 commit 1e3cafb

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

src/rule.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ bool Rule::evaluateActions(Transaction *trasn) {
270270
bool Rule::evaluate(Transaction *trasn) {
271271
bool ret = false;
272272
std::vector<Variable *> *variables = this->variables;
273-
RuleMessage *ruleMessage = new modsecurity::RuleMessage(this, m_log_message);
273+
RuleMessage *ruleMessage = NULL;
274274

275275
trasn->m_matched.clear();
276276

@@ -281,6 +281,7 @@ bool Rule::evaluate(Transaction *trasn) {
281281
return evaluateActions(trasn);
282282
}
283283

284+
ruleMessage = new modsecurity::RuleMessage(this, m_log_message);
284285
#ifndef NO_LOGS
285286
std::string eparam = MacroExpansion::expand(this->op->param, trasn);
286287

src/transaction.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ Transaction::~Transaction() {
151151
for (auto *a : m_rulesMessages) {
152152
delete a;
153153
}
154+
m_rulesMessages.clear();
154155

155156
m_rules->decrementReferenceCount();
156157
}

0 commit comments

Comments
 (0)