Skip to content

Commit d9c7725

Browse files
committed
Fix memory leak
1 parent b6da677 commit d9c7725

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

headers/modsecurity/transaction.h

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,12 @@ class TransactionAnchoredVariables {
205205
m_variableFilesTmpNames(t, "FILES_TMPNAMES"),
206206
m_variableMultipartPartHeaders(t, "MULTIPART_PART_HEADERS"),
207207
m_variableOffset(0),
208-
m_variableArgsNames("ARGS_NAMES", &m_variableArgs),
209-
m_variableArgsGetNames("ARGS_GET_NAMES", &m_variableArgsGet),
210-
m_variableArgsPostNames("ARGS_POST_NAMES", &m_variableArgsPost)
208+
m_pVariableArgsNames(new AnchoredSetVariableTranslationProxy("ARGS_NAMES", &m_variableArgs)),
209+
m_variableArgsNames(*m_pVariableArgsNames),
210+
m_pVariableArgsGetNames(new AnchoredSetVariableTranslationProxy("ARGS_GET_NAMES", &m_variableArgsGet)),
211+
m_variableArgsGetNames(*m_pVariableArgsGetNames),
212+
m_pVariableArgsPostNames(new AnchoredSetVariableTranslationProxy("ARGS_POST_NAMES", &m_variableArgsPost)),
213+
m_variableArgsPostNames(*m_pVariableArgsPostNames)
211214
{ }
212215

213216
AnchoredSetVariable m_variableRequestHeadersNames;
@@ -291,9 +294,12 @@ class TransactionAnchoredVariables {
291294

292295
int m_variableOffset;
293296

294-
AnchoredSetVariableTranslationProxy m_variableArgsNames;
295-
AnchoredSetVariableTranslationProxy m_variableArgsGetNames;
296-
AnchoredSetVariableTranslationProxy m_variableArgsPostNames;
297+
std::unique_ptr<AnchoredSetVariableTranslationProxy> m_pVariableArgsNames;
298+
AnchoredSetVariableTranslationProxy &m_variableArgsNames;
299+
std::unique_ptr<AnchoredSetVariableTranslationProxy> m_pVariableArgsGetNames;
300+
AnchoredSetVariableTranslationProxy &m_variableArgsGetNames;
301+
std::unique_ptr<AnchoredSetVariableTranslationProxy> m_pVariableArgsPostNames;
302+
AnchoredSetVariableTranslationProxy &m_variableArgsPostNames;
297303
};
298304

299305
class TransactionSecMarkerManagement {

0 commit comments

Comments
 (0)