diff --git a/wolfcrypt/src/memory.c b/wolfcrypt/src/memory.c index a57894d58..865971750 100644 --- a/wolfcrypt/src/memory.c +++ b/wolfcrypt/src/memory.c @@ -533,7 +533,11 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type) } #else #ifndef WOLFSSL_NO_MALLOC - res = malloc(size); + #ifdef FREERTOS + res = pvPortMalloc(size); + #else + res = malloc(size); + #endif #else WOLFSSL_MSG("No heap hint found to use and no malloc"); #ifdef WOLFSSL_DEBUG_MEMORY @@ -667,7 +671,11 @@ void wolfSSL_Free(void *ptr, void* heap, int type) } #endif #ifndef WOLFSSL_NO_MALLOC - free(ptr); + #ifdef FREERTOS + vPortFree(ptr); + #else + free(ptr); + #endif #else WOLFSSL_MSG("Error trying to call free when turned off"); #endif /* WOLFSSL_NO_MALLOC */ diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index a425a0fdd..e4b0a15e8 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -246,7 +246,7 @@ #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), (h), (t));} #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), (h), (t)) #endif /* WOLFSSL_DEBUG_MEMORY */ - #else + #elif !defined(FREERTOS) && !defined(FREERTOS_TCP) #ifdef WOLFSSL_DEBUG_MEMORY #define XMALLOC(s, h, t) ((void)h, (void)t, wolfSSL_Malloc((s), __func__, __LINE__)) #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), __func__, __LINE__);}