Changeset: 6f842a5a199f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6f842a5a199f
Modified Files:
monetdb5/mal/mal_parser.c
Branch: Jun2016
Log Message:
Memory leak.
diffs (39 lines):
diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c
--- a/monetdb5/mal/mal_parser.c
+++ b/monetdb5/mal/mal_parser.c
@@ -1149,6 +1149,11 @@ fcnHeader(Client cntxt, int kind)
curInstr = getInstrPtr(curBlk, 0);
if (currChar(cntxt) != '('){
+ if (cntxt->backup) {
+ freeSymbol(cntxt->curprg);
+ cntxt->curprg = cntxt->backup;
+ cntxt->backup = 0;
+ }
parseError(cntxt, "function header '(' expected\n");
skipToEnd(cntxt);
return curBlk;
@@ -1160,6 +1165,7 @@ fcnHeader(Client cntxt, int kind)
if (isModuleDefined(cntxt->nspace, getModuleId(curInstr)) == FALSE) {
if (cntxt->backup) {
+ freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
}
@@ -1181,6 +1187,7 @@ fcnHeader(Client cntxt, int kind)
if (ch == ')')
break;
if (cntxt->backup) {
+ freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
}
@@ -1262,6 +1269,7 @@ fcnHeader(Client cntxt, int kind)
if (currChar(cntxt) != ')') {
freeInstruction(curInstr);
if (cntxt->backup) {
+ freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list