Fix rules dump

The unique pointer for file name was being used multiple times
on SecMarker.
This commit is contained in:
Felipe Zimmerle
2021-02-04 11:07:22 -03:00
parent 6ca028b6f5
commit 50fc347ed4
5 changed files with 28 additions and 4 deletions

View File

@@ -45,8 +45,8 @@ Driver::~Driver() {
int Driver::addSecMarker(std::string marker, std::unique_ptr<std::string> fileName, int lineNumber) {
// FIXME: we might move this to the parser.
for (int i = 0; i < modsecurity::Phases::NUMBER_OF_PHASES; i++) {
RuleMarker *r = new RuleMarker(marker, std::move(fileName), lineNumber);
std::unique_ptr<RuleMarker> rule(std::move(r));
RuleMarker *r = new RuleMarker(marker, std::unique_ptr<std::string>(new std::string(*fileName)), lineNumber);
std::unique_ptr<RuleMarker> rule(r);
rule->setPhase(i);
m_rulesSetPhases.insert(std::move(rule));
}