void *CRYPTO_realloc(void *str, size_t num, const char *file, int line) { INCREMENT(realloc_count); if (realloc_impl != NULL && realloc_impl != &CRYPTO_realloc) return realloc_impl(str, num, file, line); FAILTEST(); if (str == NULL) return CRYPTO_malloc(num, file, line); if (num == 0) { CRYPTO_free(str, file, line); return NULL; } allow_customize = 0; #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (call_malloc_debug) { void *ret; CRYPTO_mem_debug_realloc(str, NULL, num, 0, file, line); ret = realloc(str, num); CRYPTO_mem_debug_realloc(str, ret, num, 1, file, line); return ret; } #else (void)(file); (void)(line); #endif return realloc(str, num); }
static void * zone_realloc(malloc_zone_t *zone, void *ptr, size_t size) { if (malloc_usable_size_impl(ptr)) return realloc_impl(ptr, size); return realloc(ptr, size); }