Update makefile and fix analzer complaints
This commit is contained in:
14
src/arena.c
14
src/arena.c
@@ -58,11 +58,13 @@ void _arena_new_page(arena_t* a, size_t size)
|
||||
return;
|
||||
}
|
||||
|
||||
a->head->next = calloc(1, sizeof *(a->head->next));
|
||||
void* tmp = calloc(1, sizeof *(a->head->next));
|
||||
|
||||
if (a->head->next == NULL)
|
||||
if (tmp == NULL)
|
||||
exit(errno);
|
||||
|
||||
a->head->next = tmp;
|
||||
|
||||
a->head = a->head->next;
|
||||
a->head->data = malloc(size);
|
||||
|
||||
@@ -115,12 +117,14 @@ void* arena_calloc(arena_t* a, size_t nmemb, size_t size)
|
||||
void* arena_realloc_tail(arena_t* a, size_t len)
|
||||
{
|
||||
if (a->head->offset == BIG_PAGE) {
|
||||
a->head->data = realloc(a->head->data, len);
|
||||
void* tmp = realloc(a->head->data, len);
|
||||
|
||||
if (a->head->data == NULL)
|
||||
if (tmp == NULL)
|
||||
exit(errno);
|
||||
|
||||
return a->head->data;
|
||||
a->head->data = tmp;
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
a->head->offset = a->head->prev_offset;
|
||||
|
||||
@@ -17,10 +17,10 @@ int main()
|
||||
for (size_t i = 0; i < 1024; i++) {
|
||||
char* c = arena_alloc(&default_arena, sizeof *c);
|
||||
|
||||
*c = i & 0xFF;
|
||||
|
||||
if (c == NULL)
|
||||
err(EXIT_FAILURE, "failed to allocate memory");
|
||||
|
||||
*c = i & 0xFF;
|
||||
}
|
||||
printf("\n OK!\n");
|
||||
|
||||
@@ -36,5 +36,7 @@ int main()
|
||||
|
||||
printf("\n OK!\n");
|
||||
|
||||
arena_delete(&default_arena);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user