Fix use-of-uninit in eraseBetween (Node256)
This commit is contained in:
@@ -1874,7 +1874,7 @@ void eraseBetween(Node **inTree, Node256 *n, int begin, int end,
|
|||||||
const unsigned shiftAmount = begin;
|
const unsigned shiftAmount = begin;
|
||||||
auto inBounds = [&](unsigned c) { return c - shiftAmount < shiftUpperBound; };
|
auto inBounds = [&](unsigned c) { return c - shiftAmount < shiftUpperBound; };
|
||||||
n->numChildren = 0;
|
n->numChildren = 0;
|
||||||
BitSet newBitSet;
|
BitSet newBitSet{};
|
||||||
n->bitSet.forEachSet([&](int i) {
|
n->bitSet.forEachSet([&](int i) {
|
||||||
if (inBounds(i)) {
|
if (inBounds(i)) {
|
||||||
eraseTree(std::exchange(n->children[i], nullptr), tls);
|
eraseTree(std::exchange(n->children[i], nullptr), tls);
|
||||||
|
Reference in New Issue
Block a user