Fix memory management on the rules' messages (try 2)

This commit is contained in:
Felipe Zimmerle 2016-02-17 13:32:31 -03:00
parent 71970915b1
commit 1e3cafb734
2 changed files with 3 additions and 1 deletions

View File

@ -270,7 +270,7 @@ bool Rule::evaluateActions(Transaction *trasn) {
bool Rule::evaluate(Transaction *trasn) {
bool ret = false;
std::vector<Variable *> *variables = this->variables;
RuleMessage *ruleMessage = new modsecurity::RuleMessage(this, m_log_message);
RuleMessage *ruleMessage = NULL;
trasn->m_matched.clear();
@ -281,6 +281,7 @@ bool Rule::evaluate(Transaction *trasn) {
return evaluateActions(trasn);
}
ruleMessage = new modsecurity::RuleMessage(this, m_log_message);
#ifndef NO_LOGS
std::string eparam = MacroExpansion::expand(this->op->param, trasn);

View File

@ -151,6 +151,7 @@ Transaction::~Transaction() {
for (auto *a : m_rulesMessages) {
delete a;
}
m_rulesMessages.clear();
m_rules->decrementReferenceCount();
}