1#include <stdint.h> 2#include "securec.h" 3#include "prt_mem.h" 4#include "prt_module.h" 5 6void *calloc(size_t nitems, size_t size) 7{ 8 size_t real_size; 9 void *ptr = NULL; 10 11 if ((nitems == 0) || (size == 0) || (nitems > (UINT32_MAX / size))) { 12 return NULL; 13 } 14 15 real_size = (size_t)(nitems * size); 16 ptr = PRT_MemAlloc(OS_MID_SYS, 0, real_size); 17 if (ptr != NULL) { 18 (void)memset_s(ptr, real_size, 0, real_size); 19 } 20 return ptr; 21} 22 23void free(void *ptr) 24{ 25 if (ptr == NULL) { 26 return; 27 } 28 29 (void)PRT_MemFree(OS_MID_SYS, ptr); 30} 31 32void *malloc(size_t size) 33{ 34 if (size == 0) { 35 return NULL; 36 } 37 38 return PRT_MemAlloc(OS_MID_SYS, 0, size); 39} 40 41void *zalloc(size_t size) 42{ 43 void *ptr = NULL; 44 45 if (size == 0) { 46 return NULL; 47 } 48 49 ptr = PRT_MemAlloc(OS_MID_SYS, 0, size); 50 if (ptr != NULL) { 51 (void)memset_s(ptr, size, 0, size); 52 } 53 return ptr; 54} 55 56void *memalign(size_t boundary, size_t size) 57{ 58 if (size == 0) { 59 return NULL; 60 } 61 62 if ((boundary % sizeof(uintptr_t) != 0)) { 63 return NULL; 64 } 65 66 return PRT_MemAlloc(OS_MID_SYS, 0, size); 67} 68