diff options
| author | gingerBill <bill@gingerbill.org> | 2023-04-21 13:29:38 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2023-04-21 13:29:38 +0100 |
| commit | a95b064d6d0a2e3dfa8c414be60ae966a099adfd (patch) | |
| tree | 6f41ef1d5b4794173204e129c616a93a3259776c /src/string_map.cpp | |
| parent | c503a758733b921cfd8dc9f63bddd6ecdc3fe2e1 (diff) | |
Fix memory leak caused by awful realloc usage on Linux
Diffstat (limited to 'src/string_map.cpp')
| -rw-r--r-- | src/string_map.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/string_map.cpp b/src/string_map.cpp index bf1bbf6ca..f8b86a950 100644 --- a/src/string_map.cpp +++ b/src/string_map.cpp @@ -96,7 +96,9 @@ gb_internal MapIndex string_map__add_entry(StringMap<T> *h, u32 hash, String con e.key = key; e.hash = hash; e.next = MAP_SENTINEL; - string_map__reserve_entries(h, h->count+1); + if (h->count+1 >= h->entries_capacity) { + string_map__reserve_entries(h, gb_max(h->entries_capacity*2, 4)); + } h->entries[h->count++] = e; return cast(MapIndex)(h->count-1); } |