diff --git a/src/mem/pagemap.h b/src/mem/pagemap.h index 8526c09..94f5c1c 100644 --- a/src/mem/pagemap.h +++ b/src/mem/pagemap.h @@ -191,7 +191,7 @@ namespace snmalloc return std::pair(nullptr, 0); shift -= BITS_PER_INDEX_LEVEL; - ix = (addr >> shift) & ENTRIES_MASK; + ix = (static_cast(addr) >> shift) & ENTRIES_MASK; e = &value->entries[ix]; if constexpr (INDEX_LEVELS == 1) @@ -211,7 +211,7 @@ namespace snmalloc return std::pair(nullptr, 0); shift -= BITS_FOR_LEAF; - ix = (addr >> shift) & LEAF_MASK; + ix = (static_cast(addr) >> shift) & LEAF_MASK; return std::pair(leaf, ix); }