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