Loading...
#include <stdlib.h> #include <darwintest.h> #include <malloc_private.h> T_GLOBAL_META(T_META_RUN_CONCURRENTLY(true)); T_DECL(empty_malloc_valid, "Zero size allocation returns valid pointer") { void *ptr; ptr = malloc(0); T_ASSERT_NOTNULL(ptr, "Empty malloc returns pointer"); free(ptr); ptr = calloc(1, 0); T_ASSERT_NOTNULL(ptr, "Empty calloc returns pointer"); free(ptr); ptr = realloc(NULL, 0); T_ASSERT_NOTNULL(ptr, "Empty realloc returns pointer"); free(ptr); ptr = aligned_alloc(sizeof(void *), 0); T_ASSERT_NOTNULL(ptr, "Empty aligned_alloc returns pointer"); free(ptr); ptr = reallocf(NULL, 0); T_ASSERT_NOTNULL(ptr, "Empty reallocf returns pointer"); free(ptr); ptr = valloc(0); T_ASSERT_NOTNULL(ptr, "Empty valloc returns pointer"); free(ptr); int ret = posix_memalign(&ptr, sizeof(void *), 0); T_ASSERT_EQ(ret, 0, "posix_memalign returns success"); T_ASSERT_NOTNULL(ptr, "Empty posix_memalign returns pointer"); free(ptr); } |