Changeset: caa5eb85cec4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=caa5eb85cec4
Modified Files:
monetdb5/mal/mal_parser.c
Branch: Dec2016
Log Message:
Don't return a pointer into freed memory.
This fixes bug 6176.
diffs (43 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
@@ -1134,6 +1134,7 @@ fcnHeader(Client cntxt, int kind)
freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
+ curBlk = NULL;
}
parseError(cntxt, "',' expected\n");
skipToEnd(cntxt);
@@ -1149,6 +1150,7 @@ fcnHeader(Client cntxt, int kind)
freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
+ curBlk = NULL;
}
parseError(cntxt, "')' expected\n");
skipToEnd(cntxt);
@@ -1191,6 +1193,7 @@ fcnHeader(Client cntxt, int kind)
freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
+ curBlk = NULL;
}
parseError(cntxt, "',' expected\n");
skipToEnd(cntxt);
@@ -1210,6 +1213,7 @@ fcnHeader(Client cntxt, int kind)
freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
+ curBlk = NULL;
}
skipToEnd(cntxt);
return curBlk;
@@ -1231,6 +1235,7 @@ fcnHeader(Client cntxt, int kind)
freeSymbol(cntxt->curprg);
cntxt->curprg = cntxt->backup;
cntxt->backup = 0;
+ curBlk = NULL;
}
parseError(cntxt, "')' expected\n");
skipToEnd(cntxt);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list