diff options
| author | Jason Evans <je@fb.com> | 2015-03-12 06:14:50 (GMT) |
|---|---|---|
| committer | Jason Evans <je@fb.com> | 2015-03-12 06:14:50 (GMT) |
| commit | fbd8d773ad0230ffba4e2c296dac3edcac9ca27e (patch) | |
| tree | b63a669ab15d451997e392b8ec741172c01841aa | |
| parent | bc45d41d23bac598dbd38e5aac5a85b43d24bc04 (diff) | |
| download | jemalloc-fbd8d773ad0230ffba4e2c296dac3edcac9ca27e.zip jemalloc-fbd8d773ad0230ffba4e2c296dac3edcac9ca27e.tar.gz jemalloc-fbd8d773ad0230ffba4e2c296dac3edcac9ca27e.tar.bz2 | |
Fix unsigned comparison underflow.
These bugs only affected tests and debug builds.
| -rw-r--r-- | include/jemalloc/internal/rtree.h | 2 | ||||
| -rw-r--r-- | src/rtree.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/jemalloc/internal/rtree.h b/include/jemalloc/internal/rtree.h index 2eb726d..c1fb90c 100644 --- a/include/jemalloc/internal/rtree.h +++ b/include/jemalloc/internal/rtree.h @@ -260,7 +260,7 @@ rtree_set(rtree_t *rtree, uintptr_t key, const extent_node_t *val) rtree_val_write(rtree, &node[subkey], val); return (false); } - assert(i < rtree->height - 1); + assert(i + 1 < rtree->height); child = rtree_child_read(rtree, &node[subkey], i); if (child == NULL) return (true); diff --git a/src/rtree.c b/src/rtree.c index 47d9084..af0d97e 100644 --- a/src/rtree.c +++ b/src/rtree.c @@ -63,7 +63,7 @@ static void rtree_delete_subtree(rtree_t *rtree, rtree_node_elm_t *node, unsigned level) { - if (level < rtree->height - 1) { + if (level + 1 < rtree->height) { size_t nchildren, i; nchildren = ZU(1) << rtree->levels[level].bits; |
