mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:48:11 +00:00
LibSQL: Fix BTree corruption in TreeNode::split
After splitting a node, the new node was written to the same pointer as the current node - probably a copy / paste error. This new code requires a `.pointer() -> u32` to exist on the object to be serialized, preventing this issue from happening again. Fixes #15844.
This commit is contained in:
parent
e5e00a682b
commit
70a7bca920
7 changed files with 35 additions and 16 deletions
|
@ -232,7 +232,7 @@ bool BTreeIterator::update(Key const& new_value)
|
|||
|
||||
// We are friend of BTree and TreeNode. Don't know how I feel about that.
|
||||
m_current->m_entries[m_index] = new_value;
|
||||
m_current->tree().serializer().serialize_and_write(*m_current, m_current->pointer());
|
||||
m_current->tree().serializer().serialize_and_write(*m_current);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue