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

Reply via email to