Changeset: 8b477cd419f7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8b477cd419f7
Modified Files:
monetdb5/optimizer/opt_pushselect.c
Branch: Jun2016
Log Message:
fixed read after free
diffs (27 lines):
diff --git a/monetdb5/optimizer/opt_pushselect.c
b/monetdb5/optimizer/opt_pushselect.c
--- a/monetdb5/optimizer/opt_pushselect.c
+++ b/monetdb5/optimizer/opt_pushselect.c
@@ -514,13 +514,14 @@ OPTpushselectImplementation(Client cntxt
int var = getArg(p, 1);
InstrPtr r = old[vars[var]];
- if (isSlice(r) && rslices[getArg(p,1)] != 0 &&
getArg(r, 0) == getArg(p, 1)) {
+ if (r && isSlice(r) && rslices[getArg(p,1)] != 0 &&
getArg(r, 0) == getArg(p, 1)) {
InstrPtr q = newAssignment(mb);
getArg(q, 0) = getArg(p, 0);
(void) pushArgument(mb, q, getArg(p, 2));
actions++;
freeInstruction(p);
+ old[i] = NULL;
continue;
}
} else if (p->argc >= 2 && slices[getArg(p, 1)] != 0) {
@@ -582,6 +583,7 @@ OPTpushselectImplementation(Client cntxt
u = pushArgument(mb, u, getArg(t,0));
pushInstruction(mb,u);
freeInstruction(p);
+ old[i] = NULL;
continue;
}
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list