You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by so...@apache.org on 2017/02/09 17:42:42 UTC
[trafficserver] 01/05: TS-4367: Failed clang-analyzer,
memory leak in mgmt/api
This is an automated email from the ASF dual-hosted git repository.
sorber pushed a commit to branch 6.2.x
in repository https://git-dual.apache.org/repos/asf/trafficserver.git
commit 99c62ee4b4dbaa5921d83b47a27fc53090dfeb34
Author: Bryan Call <bc...@apache.org>
AuthorDate: Wed May 25 10:43:46 2016 -0700
TS-4367: Failed clang-analyzer, memory leak in mgmt/api
(cherry picked from commit 1cff52240584e5e6dccee63a02ab70ce61a961a2)
---
mgmt/api/GenericParser.cc | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/mgmt/api/GenericParser.cc b/mgmt/api/GenericParser.cc
index 0eb5121..eb36872 100644
--- a/mgmt/api/GenericParser.cc
+++ b/mgmt/api/GenericParser.cc
@@ -354,12 +354,15 @@ Rule::cacheParse(char *rule, unsigned short minNumToken, unsigned short maxNumTo
if (insideQuote) {
// printf("enqueue\n");
m_tokenList->enqueue(token);
+ token = NULL; // transfered ownership of token to the token list
insideQuote = false;
} else {
insideQuote = true;
}
}
}
+
+ delete token;
return m_tokenList;
}
@@ -633,6 +636,7 @@ Rule::socksParse(char *rule)
// printf("!insideQuote: %s\n", subtoken);
token->setValue(newStr);
m_tokenList->enqueue(token);
+ token = NULL; // transfered ownership of token to the token list
} else {
// printf("insideQuote: %s\n", subtoken);
// printf("%s 1\n", subtoken);
@@ -649,6 +653,7 @@ Rule::socksParse(char *rule)
if (insideQuote) {
// printf("enqueue\n");
m_tokenList->enqueue(token);
+ token = NULL; // transfered ownership of token to the token list
insideQuote = false;
} else {
insideQuote = true;
@@ -657,6 +662,7 @@ Rule::socksParse(char *rule)
} /* end for loop */
}
+ delete token;
return m_tokenList;
}
@@ -719,6 +725,7 @@ Rule::splitdnsParse(char *rule)
if (!insideQuote) {
token->setValue(newStr);
m_tokenList->enqueue(token);
+ token = NULL; // transfered ownership of token to the token list
} else {
// printf("%s 1\n", subtoken);
token->appendValue(newStr);
@@ -734,6 +741,7 @@ Rule::splitdnsParse(char *rule)
if (insideQuote) {
// printf("enqueue\n");
m_tokenList->enqueue(token);
+ token = NULL; // transfered ownership of token to the token list
insideQuote = false;
} else {
insideQuote = true;
@@ -741,6 +749,7 @@ Rule::splitdnsParse(char *rule)
}
}
+ delete token;
return m_tokenList;
// return cacheParse(rule, 2);
}
--
To stop receiving notification emails like this one, please contact
"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>.