void *CRYPTO_malloc(size_t num, const char *file, int line) { void *ret = NULL; INCREMENT(malloc_count); if (malloc_impl != NULL && malloc_impl != CRYPTO_malloc) return malloc_impl(num, file, line); if (num == 0) return NULL; FAILTEST(); allow_customize = 0; #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (call_malloc_debug) { CRYPTO_mem_debug_malloc(NULL, num, 0, file, line); ret = malloc(num); CRYPTO_mem_debug_malloc(ret, num, 1, file, line); } else { ret = malloc(num); } #else (void)(file); (void)(line); ret = malloc(num); #endif return ret; }
void *CRYPTO_malloc(size_t num, const char *file, int line) { void *ret = NULL; if (malloc_impl != NULL && malloc_impl != CRYPTO_malloc) return malloc_impl(num, file, line); if (num <= 0) return NULL; allow_customize = 0; #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (call_malloc_debug) { CRYPTO_mem_debug_malloc(NULL, num, 0, file, line); ret = malloc(num); CRYPTO_mem_debug_malloc(ret, num, 1, file, line); } else { ret = malloc(num); } #else osslargused(file); osslargused(line); ret = malloc(num); #endif return ret; }
/* * We also need to provide our own impl of wcsdup so that we don't ask * the CRT for memory from its heap (which will then be unfreeable). */ wchar_t * wcsdup_impl(const wchar_t *src) { size_t len = wcslen(src); wchar_t *dst = (wchar_t*) malloc_impl((len + 1) * sizeof(wchar_t)); if (dst) wcsncpy(dst, src, len + 1); return dst; }
MOZ_MEMORY_API char * strndup_impl(const char *src, size_t len) { char* dst = (char*) malloc_impl(len + 1); if (dst) { strncpy(dst, src, len); dst[len] = '\0'; } return dst; }
void *CRYPTO_malloc(size_t num, const char *file, int line) { void *ret = NULL; if (malloc_impl != NULL && malloc_impl != CRYPTO_malloc) return malloc_impl(num, file, line); if (num <= 0) return NULL; allow_customize = 0; #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (call_malloc_debug) { CRYPTO_mem_debug_malloc(NULL, num, 0, file, line); ret = malloc(num); CRYPTO_mem_debug_malloc(ret, num, 1, file, line); } else { ret = malloc(num); } #else (void)file; (void)line; ret = malloc(num); #endif #ifndef OPENSSL_CPUID_OBJ /* * Create a dependency on the value of 'cleanse_ctr' so our memory * sanitisation function can't be optimised out. NB: We only do this for * >2Kb so the overhead doesn't bother us. */ if (ret && (num > 2048)) { extern unsigned char cleanse_ctr; ((unsigned char *)ret)[0] = cleanse_ctr; } #endif return ret; }
static void * zone_malloc(malloc_zone_t *zone, size_t size) { return malloc_impl(size); }
/*operator new[](unsigned int, std::nothrow_t const&)*/ MOZ_MEMORY_API void * mozmem_malloc_impl(_ZnajRKSt9nothrow_t)(unsigned int size) { return malloc_impl(size); }
/* operator new[](unsigned int) */ MOZ_MEMORY_API void * mozmem_malloc_impl(_Znaj)(unsigned int size) { return malloc_impl(size); }