forked from wolfSSL/wolfssl
Fixes for better supporting FREERTOS with and without static memory. Added fallback case to use pvPortMalloc/vPortFree when heap
ptr not available.
This commit is contained in:
@@ -533,7 +533,11 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type)
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#ifndef WOLFSSL_NO_MALLOC
|
#ifndef WOLFSSL_NO_MALLOC
|
||||||
|
#ifdef FREERTOS
|
||||||
|
res = pvPortMalloc(size);
|
||||||
|
#else
|
||||||
res = malloc(size);
|
res = malloc(size);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
WOLFSSL_MSG("No heap hint found to use and no malloc");
|
WOLFSSL_MSG("No heap hint found to use and no malloc");
|
||||||
#ifdef WOLFSSL_DEBUG_MEMORY
|
#ifdef WOLFSSL_DEBUG_MEMORY
|
||||||
@@ -667,7 +671,11 @@ void wolfSSL_Free(void *ptr, void* heap, int type)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifndef WOLFSSL_NO_MALLOC
|
#ifndef WOLFSSL_NO_MALLOC
|
||||||
|
#ifdef FREERTOS
|
||||||
|
vPortFree(ptr);
|
||||||
|
#else
|
||||||
free(ptr);
|
free(ptr);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
WOLFSSL_MSG("Error trying to call free when turned off");
|
WOLFSSL_MSG("Error trying to call free when turned off");
|
||||||
#endif /* WOLFSSL_NO_MALLOC */
|
#endif /* WOLFSSL_NO_MALLOC */
|
||||||
|
@@ -246,7 +246,7 @@
|
|||||||
#define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), (h), (t));}
|
#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))
|
#define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), (h), (t))
|
||||||
#endif /* WOLFSSL_DEBUG_MEMORY */
|
#endif /* WOLFSSL_DEBUG_MEMORY */
|
||||||
#else
|
#elif !defined(FREERTOS) && !defined(FREERTOS_TCP)
|
||||||
#ifdef WOLFSSL_DEBUG_MEMORY
|
#ifdef WOLFSSL_DEBUG_MEMORY
|
||||||
#define XMALLOC(s, h, t) ((void)h, (void)t, wolfSSL_Malloc((s), __func__, __LINE__))
|
#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__);}
|
#define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), __func__, __LINE__);}
|
||||||
|
Reference in New Issue
Block a user