Changeset: 381dae4b2317 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=381dae4b2317
Modified Files:
        monetdb5/modules/mal/xid.c
Branch: xid
Log Message:

XIDencode(): added sanity check to detect/prevent overflow


diffs (27 lines):

diff --git a/monetdb5/modules/mal/xid.c b/monetdb5/modules/mal/xid.c
--- a/monetdb5/modules/mal/xid.c
+++ b/monetdb5/modules/mal/xid.c
@@ -71,6 +71,7 @@ XIDencode(BUN *rtrn, XIDcolumn col, oid 
        //xid point=0, range=0,set=0;
 
        o = *(oid*) p++;
+       assert(o <= XID_CNT_MAX);
        assert(o >= min);
        if ( o - min  >= XID_VAL_MAX) {
                col[i].x.tag = XIDBASE;
@@ -78,7 +79,6 @@ XIDencode(BUN *rtrn, XIDcolumn col, oid 
                i++;
        }
        o -= min;
-       assert(o <= XID_VAL_MAX);
        v = (xid) o;
        col[i].x.val = v;
        col[i].x.tag = XIDPOINT;
@@ -86,6 +86,7 @@ XIDencode(BUN *rtrn, XIDcolumn col, oid 
        
        for ( ; p<q ; p++) {
                o = *(oid*) p;
+               assert(o <= XID_CNT_MAX);
                if (o < min || o - min >= XID_VAL_MAX) {
                        switch( col[i].x.tag){
                        case XIDRANGEEQ:
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to