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

Reply via email to