Changeset: 7efdbd8d2cbc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7efdbd8d2cbc
Modified Files:
        monetdb5/modules/mal/mosaic.h
        monetdb5/modules/mal/mosaic_delta.c
Branch: mosaic
Log Message:

Fix accessing non-initialized storage


diffs (42 lines):

diff --git a/monetdb5/modules/mal/mosaic.h b/monetdb5/modules/mal/mosaic.h
--- a/monetdb5/modules/mal/mosaic.h
+++ b/monetdb5/modules/mal/mosaic.h
@@ -189,13 +189,13 @@ float nextafterf(float x, float y);
 
 // skip until you hit a candidate
 #define MOSskipit()\
-if ( task->cl && task->n){\
-       while( *task->cl < (oid) first)\
+if ( task->n && task->cl ){\
+       while(task->n > 0 && *task->cl < (oid) first)\
                {task->cl++; task->n--;}\
-       if (task->n == 0 || *task->cl > (oid) first )\
+       if (task->n <= 0 || *task->cl > (oid) first )\
                continue;\
        if ( *task->cl == (oid) first ){\
-               task->cl++; task->n--;\
+               task->cl++; \
        }\
 } else if (task->cl) continue;
 
diff --git a/monetdb5/modules/mal/mosaic_delta.c 
b/monetdb5/modules/mal/mosaic_delta.c
--- a/monetdb5/modules/mal/mosaic_delta.c
+++ b/monetdb5/modules/mal/mosaic_delta.c
@@ -710,16 +710,7 @@ MOSleftfetchjoin_delta(Client cntxt,  MO
                        val = *(int*) (((char*) task->blk) + MosaicBlkSize);
                        delta = (bte*) (((char*)task->blk + MosaicBlkSize) + 
sizeof(int));
                        for(; first < last; first++, val+= *delta, delta++){
-                               //MOSskipit();
-if ( task->cl && task->n){
-    while( *task->cl < (oid) first)
-        {task->cl++; task->n--;}
-    if (task->n == 0 || *task->cl > (oid) first )
-        continue;
-    if ( *task->cl == (oid) first ){
-        task->cl++; task->n--;
-    }
-} else if (task->cl) continue;
+                               MOSskipit();
                                *v++ = val;
                                task->n--;
                                task->cnt++;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to