Skip to content
Snippets Groups Projects
Commit 03532ae3 authored by Houtan Bastani's avatar Houtan Bastani
Browse files

macroprocessor: fix memory leak

parent 0bb413e8
No related branches found
No related tags found
No related merge requests found
...@@ -89,22 +89,22 @@ CONT \\\\ ...@@ -89,22 +89,22 @@ CONT \\\\
yylloc->step(); yylloc->step();
// Get variable name // Get variable name
string *modvarname = new string(yytext); string modvarname = string(yytext);
int dblq_idx1 = modvarname->find("include"); int dblq_idx1 = modvarname.find("include");
modvarname->erase(0, dblq_idx1 + 7); modvarname.erase(0, dblq_idx1 + 7);
modvarname->erase(0, modvarname->find_first_not_of(" \t")); modvarname.erase(0, modvarname.find_first_not_of(" \t"));
size_t p = modvarname->find_last_not_of(" \t\n\r"); size_t p = modvarname.find_last_not_of(" \t\n\r");
if (string::npos != p) if (string::npos != p)
modvarname->erase(p+1); modvarname.erase(p+1);
string *filename; string *filename = NULL;
try try
{ {
filename = new string(driver.get_variable(*modvarname)->toString()); filename = new string(driver.get_variable(modvarname)->toString());
} }
catch(MacroDriver::UnknownVariable(&e)) catch(MacroDriver::UnknownVariable(&e))
{ {
driver.error(*yylloc, "Unknown variable: " + *modvarname); driver.error(*yylloc, "Unknown variable: " + modvarname);
} }
create_include_context(filename, yylloc, driver); create_include_context(filename, yylloc, driver);
BEGIN(INITIAL); BEGIN(INITIAL);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment