summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Evans <je@fb.com>2015-03-12 06:14:50 (GMT)
committerJason Evans <je@fb.com>2015-03-12 06:14:50 (GMT)
commitfbd8d773ad0230ffba4e2c296dac3edcac9ca27e (patch)
treeb63a669ab15d451997e392b8ec741172c01841aa
parentbc45d41d23bac598dbd38e5aac5a85b43d24bc04 (diff)
downloadjemalloc-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.h2
-rw-r--r--src/rtree.c2
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;