Switch to using calloc instead of malloc

This commit is contained in:
Abdelrahman Said 2024-03-24 11:25:52 +00:00
parent feada0b31c
commit 49ce26a6c2
2 changed files with 5 additions and 16 deletions

View File

@ -15,15 +15,13 @@ struct dstr {
}; };
String *wapp_dstr_with_capacity(u64 capacity) { String *wapp_dstr_with_capacity(u64 capacity) {
String *out = (String *)malloc(sizeof(String) + capacity + 1); String *out = (String *)calloc(1, sizeof(String) + capacity + 1);
if (!out) { if (!out) {
return NULL; return NULL;
} }
out->capacity = capacity; out->capacity = capacity;
out->size = 0; out->size = 0;
memset(out->buf, 0, capacity + 1);
return out; return out;
} }

View File

@ -39,22 +39,18 @@ bool wapp_mem_arena_init(Arena **arena, u64 base_capacity) {
return false; return false;
} }
*arena = (Arena *)malloc(sizeof(Arena)); *arena = (Arena *)calloc(1, sizeof(Arena));
Arena *arena_ptr = *arena; Arena *arena_ptr = *arena;
if (!arena_ptr) { if (!arena_ptr) {
return false; return false;
} }
memset(arena_ptr, 0, sizeof(Arena)); arena_ptr->active_arena = (BaseArena *)calloc(1, sizeof(BaseArena));
arena_ptr->active_arena = (BaseArena *)malloc(sizeof(BaseArena));
if (!(arena_ptr->active_arena)) { if (!(arena_ptr->active_arena)) {
wapp_mem_arena_free(arena); wapp_mem_arena_free(arena);
return false; return false;
} }
memset(arena_ptr->active_arena, 0, sizeof(BaseArena));
if (!base_arena_init(arena_ptr->active_arena, base_capacity)) { if (!base_arena_init(arena_ptr->active_arena, base_capacity)) {
wapp_mem_arena_free(arena); wapp_mem_arena_free(arena);
return false; return false;
@ -80,13 +76,11 @@ void *wapp_mem_arena_alloc_aligned(Arena *arena, u64 size, u64 alignment) {
if (arena->active_arena->next) { if (arena->active_arena->next) {
arena->active_arena = arena->active_arena->next; arena->active_arena = arena->active_arena->next;
} else { } else {
arena->active_arena->next = (BaseArena *)malloc(sizeof(BaseArena)); arena->active_arena->next = (BaseArena *)calloc(1, sizeof(BaseArena));
if (!(arena->active_arena->next)) { if (!(arena->active_arena->next)) {
return NULL; return NULL;
} }
memset(arena->active_arena->next, 0, sizeof(BaseArena));
if (!base_arena_init(arena->active_arena->next, if (!base_arena_init(arena->active_arena->next,
arena->initial_capacity)) { arena->initial_capacity)) {
free(arena->active_arena->next); free(arena->active_arena->next);
@ -180,14 +174,11 @@ internal bool base_arena_init(BaseArena *arena, u64 capacity) {
return false; return false;
} }
u64 alloc_size = sizeof(u8) * capacity; arena->buf = (u8 *)calloc(capacity, sizeof(u8));
arena->buf = (u8 *)malloc(alloc_size);
if (!(arena->buf)) { if (!(arena->buf)) {
return false; return false;
} }
memset(arena->buf, 0, alloc_size);
arena->capacity = capacity; arena->capacity = capacity;
arena->offset = arena->buf; arena->offset = arena->buf;
arena->prev = arena->next = NULL; arena->prev = arena->next = NULL;