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