File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11v3.x.y - YYYY-MMM-DD (to be released)
22-------------------------------------
33
4+ - Fix memory leak of RuleMessages objects
5+ [#2376 - @WGH-, @martinhsv]
46 - Produce not-supported error for ctl:forceRequestBodyVariable
57 and ctl:auditEngine
68 [#2376 - @WGH-, @martinhsv]
Original file line number Diff line number Diff line change @@ -343,7 +343,7 @@ class TransactionRuleMessageManagement {
343343 * of the actions: `log_data' and `msg'. These should be included on the
344344 * auditlogs.
345345 */
346- std::list<RuleMessage * > m_rulesMessages;
346+ std::list<std::shared_ptr< RuleMessage> > m_rulesMessages;
347347
348348 Transaction *m_transaction;
349349};
Original file line number Diff line number Diff line change @@ -64,11 +64,11 @@ namespace modsecurity {
6464
6565
6666RuleMessage *TransactionRuleMessageManagement::messageGetLast () {
67- return m_rulesMessages.back ();
67+ return m_rulesMessages.back (). get () ;
6868}
6969
7070void TransactionRuleMessageManagement::logMatchLastRuleOnTheChain (const RuleWithActions *rule) {
71- RuleMessage *rm = m_rulesMessages.back ();
71+ RuleMessage *rm = m_rulesMessages.back (). get () ;
7272
7373 rm->setRule (rule);
7474
@@ -85,13 +85,13 @@ void TransactionRuleMessageManagement::logMatchLastRuleOnTheChain(const RuleWith
8585}
8686
8787void TransactionRuleMessageManagement::messageNew () {
88- m_rulesMessages.push_back (new RuleMessage (m_transaction));
88+ m_rulesMessages.push_back (std::make_shared< RuleMessage> (m_transaction));
8989}
9090
9191std::list<RuleMessage *> TransactionRuleMessageManagement::messageGetAll () {
9292 std::list<RuleMessage *> messages;
93- for (RuleMessage *a : m_rulesMessages) {
94- messages.push_back (a );
93+ for (auto iter = m_rulesMessages. begin (); iter != m_rulesMessages. end (); ++iter ) {
94+ messages.push_back ((*iter). get () );
9595 }
9696 return messages;
9797}
You can’t perform that action at this time.
0 commit comments