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