Changeset: fa4f56a088e1 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fa4f56a088e1
Modified Files:
        MonetDB5/src/optimizer/opt_mapreduce.mx
Branch: default
Log Message:

Addition of defensive code snippet


diffs (38 lines):

diff -r 26b53e490ad2 -r fa4f56a088e1 MonetDB5/src/optimizer/opt_mapreduce.mx
--- a/MonetDB5/src/optimizer/opt_mapreduce.mx   Sat May 22 13:55:52 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_mapreduce.mx   Sat May 22 18:21:10 2010 +0200
@@ -439,7 +439,7 @@
        InstrPtr p, *old, *orig, ret, sig;
        MalBlkPtr mc;
        char nme[IDLENGTH];
-       char mrcluster[256];
+       char mrcluster[BUFSIZ];
        Symbol new;
        mapcol *col, *lastcol;
        struct stack tracker = { NULL, 0, 0 };
@@ -478,10 +478,13 @@
        snprintf(nme, IDLENGTH, "%smap", getFunctionId(getInstrPtr(mb, 0)));
 
        /* zap */
-       if (newMalBlkStmt(mc, mc->ssize) < 0)
+       if (newMalBlkStmt(mc, mc->ssize) < 0){
                return 0;
-       if (newMalBlkStmt(mb, mb->ssize) < 0)
+       }
+       if (newMalBlkStmt(mb, mb->ssize) < 0){
+               freeMalBlk(mc);
                return 0;
+       }
 
        new = newFunction(userRef, putName(nme, strlen(nme)), FUNCTIONsymbol);
        sig = copyInstruction(getInstrPtr(new->def, 0));
@@ -535,7 +538,8 @@
 
                /* move over statement that depend (indirectly) on the sql.bind
                 * calls */
-               if (!trackstack_isempty(&tracker)) for (j = p->retc; j < 
p->argc; j++) {
+               if (!trackstack_isempty(&tracker))
+               for (j = p->retc; j < p->argc; j++) {
                        if (trackstack_contains(&tracker, getArg(p, j))) {
                                if (getModuleId(p) == algebraRef) {
                                        if (getFunctionId(p) == kunionRef) {
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to