AK: Don't crash in HashTable::clear_with_capacity on an empty table

When calling clear_with_capacity on an empty HashTable/HashMap, a null
deref would occur when trying to memset() m_buckets. Checking that it
has capacity before clearing fixes the issue.
This commit is contained in:
Zaggy1024 2022-11-10 19:54:43 -06:00 committed by Andrew Kaster
commit a1300d3797
Notes: sideshowbarker 2024-07-18 03:23:00 +09:00
2 changed files with 11 additions and 0 deletions

View file

@ -309,3 +309,12 @@ TEST_CASE(reinsertion)
map.remove("__sak");
map.set("__sak");
}
TEST_CASE(clear_with_capacity_when_empty)
{
HashTable<int> map;
map.clear_with_capacity();
map.set(0);
map.set(1);
VERIFY(map.size() == 2);
}