diff options
| author | Syndamia <kamen@syndamia.com> | 2026-04-21 21:50:26 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2026-04-21 21:50:26 +0300 |
| commit | 5c36b582ad60a569ed996fe188ed92ef6bd7fc5f (patch) | |
| tree | 87013b27be02e852765b699befdd4e242bb285fd | |
| parent | 5f268351d1de3218ffc0f6437595d11df7db616d (diff) | |
| download | foollib-5c36b582ad60a569ed996fe188ed92ef6bd7fc5f.tar foollib-5c36b582ad60a569ed996fe188ed92ef6bd7fc5f.tar.gz foollib-5c36b582ad60a569ed996fe188ed92ef6bd7fc5f.zip | |
fix(B_destroy): free arena pointer itself
| -rw-r--r-- | BumpAlloc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/BumpAlloc.c b/BumpAlloc.c index 0c9163c..1d1e1c1 100644 --- a/BumpAlloc.c +++ b/BumpAlloc.c @@ -26,12 +26,13 @@ B_destroy(BumpArena bp) { struct BumpArena b = *(struct BumpArena*)bp; - if (NULL == b.memory) + if (NULL == b.memory) { + free(bp); return R_Uninitialized; + } free(b.memory); - b.memory = NULL; - b.size = b.top = 0; + free(bp); return R_Ok; } |
