Fix some uses of uninitialized memory

Introduced in ee36bda8f8, unsurprisingly.
This commit is contained in:
2024-03-14 15:39:37 -07:00
parent a0451e4423
commit 429fe5baed

View File

@@ -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);