Fix some uses of uninitialized memory
Introduced in ee36bda8f8
, unsurprisingly.
This commit is contained in:
@@ -899,6 +899,7 @@ void freeAndMakeCapacityAtLeast(Node *&self, int capacity,
|
||||
case Type_Node48: {
|
||||
auto *self48 = (Node48 *)self;
|
||||
auto *newSelf = allocators->node48.allocate(capacity);
|
||||
memset(newSelf->index, -1, sizeof(newSelf->index));
|
||||
memcpy((char *)newSelf + kNodeCopyBegin, (char *)self + kNodeCopyBegin,
|
||||
kNodeCopySize);
|
||||
memcpy(newSelf->partialKey(), self48->partialKey(), self->partialKeyLen);
|
||||
@@ -926,6 +927,9 @@ void freeAndMakeCapacityAtLeast(Node *&self, int capacity,
|
||||
case Type_Node256: {
|
||||
auto *self256 = (Node256 *)self;
|
||||
auto *newSelf = allocators->node256.allocate(capacity);
|
||||
for (int i = 0; i < 256; ++i) {
|
||||
newSelf->children[i].child = nullptr;
|
||||
}
|
||||
memcpy((char *)newSelf + kNodeCopyBegin, (char *)self + kNodeCopyBegin,
|
||||
kNodeCopySize);
|
||||
memcpy(newSelf->partialKey(), self256->partialKey(), self->partialKeyLen);
|
||||
|
Reference in New Issue
Block a user