Changeset: 50d606d207fa for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=50d606d207fa Modified Files: gdk/gdk_logger.c monetdb5/modules/mal/mat.c monetdb5/scheduler/run_octopus.c sql/backends/monet5/sql_gencode.c Branch: Jan2014 Log Message:
merger diffs (95 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -2104,8 +2104,9 @@ bm_commit(logger *lg) log_bid bid = *(log_bid *) Tloc(b, p); BAT *lb = BATdescriptor(bid); + assert(lb); BATmode(lb, PERSISTENT); -assert(lb->batRestricted > BAT_WRITE); + assert(lb->batRestricted > BAT_WRITE); logbat_destroy(lb); if (lg->debug & 1) diff --git a/monetdb5/modules/mal/mat.c b/monetdb5/modules/mal/mat.c --- a/monetdb5/modules/mal/mat.c +++ b/monetdb5/modules/mal/mat.c @@ -266,9 +266,13 @@ MATpackSliceInternal(MalBlkPtr mb, MalSt */ if (lst <= cap + c) { b = BATdescriptor(bid); - bn = BATslice(b, fst - cap, lst - cap); - BBPunfix(b->batCacheid); - BBPkeepref(*ret = bn->batCacheid); + if( b){ + bn = BATslice(b, fst - cap, lst - cap); + BBPunfix(b->batCacheid); + BBPkeepref(*ret = bn->batCacheid); + } else + throw(MAL, "mat.packSlice", RUNTIME_OBJECT_MISSING); + return MAL_SUCCEED; } if (fst < cap + c) { diff --git a/monetdb5/scheduler/run_octopus.c b/monetdb5/scheduler/run_octopus.c --- a/monetdb5/scheduler/run_octopus.c +++ b/monetdb5/scheduler/run_octopus.c @@ -407,6 +407,8 @@ OCTOPUSdiscoverRegister(Client cntxt, Ma worker to be skipped. */ start= getPC(mb,pci); + if( start< 0) + throw(MAL,"run.octopus","Illegal instruction"); for (j = start + 1; j<mb->stop ; j++){ p= getInstrPtr(mb,j); if ( p->barrier == EXITsymbol ) @@ -503,6 +505,8 @@ OCTOPUSbidding(Client cntxt, MalBlkPtr m *res = 1; /* execute the block */ start = getPC(mb,pci); + if( start < 0) + throw(MAL,"octopus.bidding","Illegal instruction pointer"); for (j = start + 1; j< mb->stop ; j++){ p = getInstrPtr(mb,j); if ( p->barrier == EXITsymbol ) @@ -671,6 +675,8 @@ OCTOPUSrun(Client cntxt, MalBlkPtr mb, M *res = 1; /* execute the block */ start = getPC(mb,pci); + if( start < 0) + throw(MAL,"octopus.run","Illegal instruction pointer"); for (j = start + 1; j< mb->stop ; j++){ p = getInstrPtr(mb,j); if ( p->barrier == EXITsymbol ) diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -146,10 +146,11 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt char *cn = column_name(sql->sa, c); char *ntn = sql_escape_ident(tn); char *nsn = sql_escape_ident(sn); - size_t fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1; - char *fqtn = NEW_ARRAY(char, fqtnl); + size_t fqtnl; + char *fqtn; - if (ntn && nsn && fqtn) { + if (ntn && nsn && (fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1) ){ + fqtn = NEW_ARRAY(char, fqtnl); snprintf(fqtn, fqtnl, "%s.%s", nsn, ntn); q = newStmt1(mb, sqlRef, "rsColumn"); @@ -160,11 +161,11 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt q = pushInt(mb, q, t->digits); q = pushInt(mb, q, t->scale); q = pushArgument(mb, q, c->nr); + _DELETE(fqtn); } else q = NULL; _DELETE(ntn); _DELETE(nsn); - _DELETE(fqtn); if (q == NULL) return -1; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list