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

xid.c: avoid bit-shift overflow (off-by-one)


diffs (21 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
@@ -61,7 +61,7 @@ XIDencode(XIDcolumn col, oid *p, oid *q)
                        break;
                case XIDSET:
                        /* watch out for duplicates */
-                       if ( v > col[i-1].value && v <= col[i-1].value + 
XID_VAL_BITS &&
+                       if ( v > col[i-1].value && v < col[i-1].value + 
XID_VAL_BITS &&
                                (col[i].value &  ((xid)1)<< (v - 
col[i-1].value)) == 0){
                                col[i].value |=  ( ((xid)1)<< (v - 
col[i-1].value));
                                scnt++;
@@ -108,7 +108,7 @@ XIDencode(XIDcolumn col, oid *p, oid *q)
                                //range++;
                                break;
                        } 
-                       if ( v > col[i].value && v <= col[i].value + 
XID_VAL_BITS ){
+                       if ( v > col[i].value && v < col[i].value + 
XID_VAL_BITS ){
                                /* make a new set */
                                i++;
                                col[i].tag = XIDSET;
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to