rename of macros, add descriptions, minor fixes

pull/7595/head
JacobBarthelmeh 2024-05-30 14:48:52 -06:00
parent 511c403631
commit ebdc8b9a32
11 changed files with 67 additions and 54 deletions

View File

@ -8077,13 +8077,13 @@ do
;;
no)
;;
small)
small|lean)
ENABLED_STATICMEMORY=yes
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_LEAN_STATIC_MEMORY"
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_STATIC_MEMORY_LEAN"
;;
debug)
ENABLED_STATICMEMORY=yes
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DEBUG_MEMORY_CALLBACK"
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK"
;;
*)
AC_MSG_ERROR([Invalid choice for staticmemory.])

View File

@ -1865,7 +1865,8 @@ static int client_srtp_test(WOLFSSL *ssl, func_args *args)
}
#endif /* WOLFSSL_SRTP */
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#if defined(WOLFSSL_STATIC_MEMORY) && \
defined(WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK)
static void ExampleDebugMemoryCb(size_t sz, int bucketSz, byte st, int type) {
switch (st) {
case WOLFSSL_DEBUG_MEMORY_ALLOC:
@ -2128,7 +2129,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
byte memory[80000];
#endif
byte memoryIO[34500]; /* max for IO buffer (TLS packet can be 16k) */
#if !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if !defined(WOLFSSL_STATIC_MEMORY_LEAN)
WOLFSSL_MEM_CONN_STATS ssl_stats;
#if defined(DEBUG_WOLFSSL)
WOLFSSL_MEM_STATS mem_stats;
@ -3060,7 +3061,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#ifdef WOLFSSL_STATIC_MEMORY
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
/* print off helper buffer sizes for use with static memory
* printing to stderr in case of debug mode turned on */
LOG_ERROR("static memory management size = %d\n",
@ -3077,7 +3078,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
err_sys("unable to load static memory");
}
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#if defined(WOLFSSL_STATIC_MEMORY) && \
defined(WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK)
wolfSSL_SetDebugMemoryCb(ExampleDebugMemoryCb);
#endif
ctx = wolfSSL_CTX_new_ex(method(heap), heap);
@ -3622,7 +3624,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#endif
#if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \
!defined(WOLFSSL_LEAN_STATIC_MEMORY)
!defined(WOLFSSL_STATIC_MEMORY_LEAN)
LOG_ERROR("Before creating SSL\n");
if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1)
err_sys("ctx not using static memory");
@ -3721,7 +3723,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#endif
#if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \
!defined(WOLFSSL_LEAN_STATIC_MEMORY)
!defined(WOLFSSL_STATIC_MEMORY_LEAN)
LOG_ERROR("After creating SSL\n");
if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1)
err_sys("ctx not using static memory");
@ -4429,7 +4431,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#endif
/* display collected statistics */
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
if (wolfSSL_is_static_memory(ssl, &ssl_stats) != 1)
err_sys("static memory was not used with ssl");
@ -4656,7 +4658,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
wolfSSL_shutdown(sslResume); /* bidirectional shutdown */
/* display collected statistics */
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
if (wolfSSL_is_static_memory(sslResume, &ssl_stats) != 1)
err_sys("static memory was not used with ssl");

View File

@ -1601,7 +1601,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
byte memory[80000];
#endif
byte memoryIO[34500]; /* max for IO buffer (TLS packet can be 16k) */
#if !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if !defined(WOLFSSL_STATIC_MEMORY_LEAN)
WOLFSSL_MEM_CONN_STATS ssl_stats;
#if defined(DEBUG_WOLFSSL)
WOLFSSL_MEM_STATS mem_stats;
@ -2505,7 +2505,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
err_sys_ex(runWithErrors, "unable to get method");
#ifdef WOLFSSL_STATIC_MEMORY
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
/* print off helper buffer sizes for use with static memory
* printing to stderr in case of debug mode turned on */
LOG_ERROR("static memory management size = %d\n",
@ -2967,7 +2967,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
}
}
#if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \
!defined(WOLFSSL_LEAN_STATIC_MEMORY)
!defined(WOLFSSL_STATIC_MEMORY_LEAN)
LOG_ERROR("Before creating SSL\n");
if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1)
err_sys_ex(runWithErrors, "ctx not using static memory");
@ -3057,7 +3057,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
#endif
#if defined(WOLFSSL_STATIC_MEMORY) && defined(DEBUG_WOLFSSL) && \
!defined(WOLFSSL_LEAN_STATIC_MEMORY)
!defined(WOLFSSL_STATIC_MEMORY_LEAN)
LOG_ERROR("After creating SSL\n");
if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) != 1)
err_sys_ex(runWithErrors, "ctx not using static memory");
@ -3803,7 +3803,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
}
/* display collected statistics */
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
if (wolfSSL_is_static_memory(ssl, &ssl_stats) != 1)
err_sys_ex(runWithErrors, "static memory was not used with ssl");

View File

@ -7242,7 +7242,7 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup)
ctx_hint = ((WOLFSSL_HEAP_HINT*)(ctx->heap));
ssl_hint->memory = ctx_hint->memory;
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* lock and check IO count / handshake count */
if (wc_LockMutex(&(ctx_hint->memory->memory_mutex)) != 0) {
WOLFSSL_MSG("Bad memory_mutex lock");
@ -7305,7 +7305,7 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup)
}
wc_UnLockMutex(&(ctx_hint->memory->memory_mutex));
}
#endif /* !WOLFSSL_LEAN_STATIC_MEMORY */
#endif /* !WOLFSSL_STATIC_MEMORY_LEAN */
#ifdef WOLFSSL_HEAP_TEST
}
#endif
@ -8385,7 +8385,7 @@ void SSL_ResourceFree(WOLFSSL* ssl)
if (ssl->heap != (void*)WOLFSSL_HEAP_TEST) {
#endif
void* heap = ssl->ctx ? ssl->ctx->heap : ssl->heap;
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
WOLFSSL_HEAP_HINT* ssl_hint = (WOLFSSL_HEAP_HINT*)ssl->heap;
WOLFSSL_HEAP* ctx_heap;
@ -8415,7 +8415,7 @@ void SSL_ResourceFree(WOLFSSL* ssl)
if (ctx_heap->flag & WOLFMEM_TRACK_STATS) {
XFREE(ssl_hint->stats, heap, DYNAMIC_TYPE_SSL);
}
#endif /* !WOLFSSL_LEAN_STATIC_MEMORY */
#endif /* !WOLFSSL_STATIC_MEMORY_LEAN */
XFREE(ssl->heap, heap, DYNAMIC_TYPE_SSL);
#ifdef WOLFSSL_HEAP_TEST
}
@ -8688,7 +8688,7 @@ void FreeHandshakeResources(WOLFSSL* ssl)
WOLFSSL_MSG("Bad memory_mutex lock");
}
#endif
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
if (ctx_heap->curHa > 0) {
ctx_heap->curHa--;
}

View File

@ -2573,7 +2573,7 @@ int wolfSSL_is_static_memory(WOLFSSL* ssl, WOLFSSL_MEM_CONN_STATS* mem_stats)
}
WOLFSSL_ENTER("wolfSSL_is_static_memory");
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* fill out statistics if wanted and WOLFMEM_TRACK_STATS flag */
if (mem_stats != NULL && ssl->heap != NULL) {
WOLFSSL_HEAP_HINT* hint = ((WOLFSSL_HEAP_HINT*)(ssl->heap));
@ -2596,7 +2596,7 @@ int wolfSSL_CTX_is_static_memory(WOLFSSL_CTX* ctx, WOLFSSL_MEM_STATS* mem_stats)
}
WOLFSSL_ENTER("wolfSSL_CTX_is_static_memory");
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* fill out statistics if wanted */
if (mem_stats != NULL && ctx->heap != NULL) {
WOLFSSL_HEAP* heap = ((WOLFSSL_HEAP_HINT*)(ctx->heap))->memory;

View File

@ -66534,7 +66534,7 @@ static int test_wolfSSL_CTX_StaticMemory_SSL(WOLFSSL_CTX* ctx)
ExpectNull((ssl3 = wolfSSL_new(ctx)));
if (wolfSSL_is_static_memory(ssl1, &ssl_stats) == 1) {
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
wolfSSL_PrintStatsConn(&ssl_stats);
#endif
(void)ssl_stats;
@ -66542,7 +66542,7 @@ static int test_wolfSSL_CTX_StaticMemory_SSL(WOLFSSL_CTX* ctx)
/* display collected statistics */
if (wolfSSL_CTX_is_static_memory(ctx, &mem_stats) == 1) {
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
wolfSSL_PrintStats(&mem_stats);
#endif
(void)mem_stats;

View File

@ -38,6 +38,16 @@ Possible memory options:
* NO_WOLFSSL_MEMORY: Disables wolf memory callback support. When not defined settings.h defines USE_WOLFSSL_MEMORY.
* WOLFSSL_STATIC_MEMORY: Turns on the use of static memory buffers and functions.
This allows for using static memory instead of dynamic.
* WOLFSSL_STATIC_MEMORY_LEAN: Requires WOLFSSL_STATIC_MEMORY be defined.
* Uses smaller type sizes for structs
* requiring that memory pool sizes be less
* then 65k and limits features available like
* IO buffers to reduce footprint size.
* WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK:
* Enables option to register a debugging
* callback function, useful for
* WOLFSSL_STATIC_MEMORY builds where XMALLOC
* and XFREE are not user defined.
* WOLFSSL_STATIC_ALIGN: Define defaults to 16 to indicate static memory alignment.
* HAVE_IO_POOL: Enables use of static thread safe memory pool for input/output buffers.
* XMALLOC_OVERRIDE: Allows override of the XMALLOC, XFREE and XREALLOC macros.
@ -514,7 +524,7 @@ void* wolfSSL_Realloc(void *ptr, size_t size)
struct wc_Memory {
byte* buffer;
struct wc_Memory* next;
#ifdef WOLFSSL_LEAN_STATIC_MEMORY
#ifdef WOLFSSL_STATIC_MEMORY_LEAN
/* lean static memory is assumed to be under 65k */
word16 sz;
#else
@ -526,7 +536,7 @@ struct wc_Memory {
};
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
static DebugMemoryCb DebugCb = NULL;
/* Used to set a debug memory callback. Helpful in cases where
@ -561,7 +571,7 @@ static int wc_create_memory_buckets(byte* buffer, word32 bufSz,
mem->buffer = (byte*)pt + padSz + memSz;
mem->next = NULL;
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
if (DebugCb) {
DebugCb(buckSz, buckSz, WOLFSSL_DEBUG_MEMORY_INIT, 0);
}
@ -611,7 +621,7 @@ static int wc_partition_static_memory(byte* buffer, word32 sz, int flag,
/* divide into chunks of memory and add them to available list */
while (ava >= (word32)(heap->sizeList[0] + padSz + memSz)) {
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* creating only IO buffers from memory passed in, max TLS is 16k */
if (flag & WOLFMEM_IO_POOL || flag & WOLFMEM_IO_POOL_FIXED) {
if ((ret = wc_create_memory_buckets(pt, ava,
@ -660,7 +670,7 @@ static int wc_partition_static_memory(byte* buffer, word32 sz, int flag,
static int wc_init_memory_heap(WOLFSSL_HEAP* heap, unsigned int listSz,
const unsigned int* sizeList, const unsigned int* distList)
{
word16 i;
unsigned int i;
XMEMSET(heap, 0, sizeof(WOLFSSL_HEAP));
@ -743,7 +753,7 @@ int wc_LoadStaticMemory_ex(WOLFSSL_HEAP_HINT** pHint,
return MEMORY_E;
}
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* determine what max applies too */
if ((flag & WOLFMEM_IO_POOL) || (flag & WOLFMEM_IO_POOL_FIXED)) {
heap->maxIO = maxSz;
@ -788,7 +798,7 @@ void wc_UnloadStaticMemory(WOLFSSL_HEAP_HINT* heap)
}
}
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* returns the size of management memory needed for each bucket.
* This is memory that is used to keep track of and align memory buckets. */
int wolfSSL_MemoryPaddingSz(void)
@ -828,7 +838,7 @@ int wolfSSL_StaticBufferSz_ex(unsigned int listSz,
ava--;
}
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* creating only IO buffers from memory passed in, max TLS is 16k */
if (flag & WOLFMEM_IO_POOL || flag & WOLFMEM_IO_POOL_FIXED) {
if (ava < (memSz + padSz + WOLFMEM_IO_SZ)) {
@ -946,7 +956,7 @@ int wolfSSL_GetMemStats(WOLFSSL_HEAP* heap, WOLFSSL_MEM_STATS* stats)
return 1;
}
#endif /* !WOLFSSL_LEAN_STATIC_MEMORY */
#endif /* !WOLFSSL_STATIC_MEMORY_LEAN */
/* global heap hint to fall back on when no heap hint is passed to
@ -1044,7 +1054,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type)
}
#endif
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* case of using fixed IO buffers */
if (mem->flag & WOLFMEM_IO_POOL_FIXED &&
(type == DYNAMIC_TYPE_OUT_BUFFER ||
@ -1059,7 +1069,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type)
else
#endif
{
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* check if using IO pool flag */
if (mem->flag & WOLFMEM_IO_POOL &&
(type == DYNAMIC_TYPE_OUT_BUFFER ||
@ -1092,7 +1102,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type)
}
if (pt != NULL) {
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
mem->alloc += 1;
#endif
res = pt->buffer;
@ -1101,12 +1111,12 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type)
pt->szUsed = size;
fprintf(stderr, "Alloc: %p -> %lu at %s:%d\n", pt->buffer, size, func, line);
#endif
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
if (DebugCb) {
DebugCb(size, pt->sz, WOLFSSL_DEBUG_MEMORY_ALLOC, type);
}
#endif
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* keep track of connection statistics if flag is set */
if (mem->flag & WOLFMEM_TRACK_STATS) {
WOLFSSL_MEM_CONN_STATS* stats = hint->stats;
@ -1131,7 +1141,7 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type)
fprintf(stderr, "Looking for %lu bytes at %s:%d\n", (unsigned long) size, func,
line);
#endif
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
if (DebugCb) {
DebugCb(size, 0, WOLFSSL_DEBUG_MEMORY_FAIL, type);
}
@ -1227,7 +1237,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type)
}
#endif
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* case of using fixed IO buffers */
if (mem->flag & WOLFMEM_IO_POOL_FIXED &&
(type == DYNAMIC_TYPE_OUT_BUFFER ||
@ -1249,7 +1259,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type)
pt->next = mem->ava[i];
mem->ava[i] = pt;
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
if (DebugCb) {
#ifdef WOLFSSL_DEBUG_MEMORY
DebugCb(pt->szUsed, pt->sz, WOLFSSL_DEBUG_MEMORY_FREE, type);
@ -1262,7 +1272,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type)
}
}
}
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
mem->inUse -= pt->sz;
mem->frAlc += 1;
#endif
@ -1272,7 +1282,7 @@ void wolfSSL_Free(void *ptr, void* heap, int type)
pt->szUsed, func, line);
#endif
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* keep track of connection statistics if flag is set */
if (mem->flag & WOLFMEM_TRACK_STATS) {
WOLFSSL_MEM_CONN_STATS* stats = hint->stats;
@ -1358,7 +1368,7 @@ void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type)
}
#endif
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* case of using fixed IO buffers or IO pool */
if (((mem->flag & WOLFMEM_IO_POOL)||(mem->flag & WOLFMEM_IO_POOL_FIXED))
&& (type == DYNAMIC_TYPE_OUT_BUFFER ||
@ -1395,7 +1405,7 @@ void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type)
sizeof(wc_Memory)))->sz;
prvSz = (prvSz > pt->sz)? pt->sz: prvSz;
XMEMCPY(pt->buffer, ptr, prvSz);
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
mem->inUse += pt->sz;
mem->alloc += 1;
#endif

View File

@ -17406,7 +17406,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t memory_test(void)
}
}
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
/* check that padding size returned is possible */
if (wolfSSL_MemoryPaddingSz() < WOLFSSL_STATIC_ALIGN) {
return WC_TEST_RET_ENC_NC; /* no room for wc_Memory struct */

View File

@ -3102,7 +3102,7 @@ static WC_INLINE void FreeAtomicUser(WOLFSSL* ssl)
#endif /* ATOMIC_USER */
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_LEAN_STATIC_MEMORY)
#if defined(WOLFSSL_STATIC_MEMORY) && !defined(WOLFSSL_STATIC_MEMORY_LEAN)
static WC_INLINE int wolfSSL_PrintStats(WOLFSSL_MEM_STATS* stats)
{
word16 i;

View File

@ -214,11 +214,11 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf,
typedef struct wc_Memory wc_Memory; /* internal structure for mem bucket */
typedef struct WOLFSSL_HEAP {
wc_Memory* ava[WOLFMEM_MAX_BUCKETS];
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
wc_Memory* io; /* list of buffers to use for IO */
#endif
#ifdef WOLFSSL_LEAN_STATIC_MEMORY
#ifdef WOLFSSL_STATIC_MEMORY_LEAN
word16 sizeList[WOLFMEM_MAX_BUCKETS];/* memory sizes in ava list */
byte distList[WOLFMEM_MAX_BUCKETS];/* general distribution */
#else
@ -232,7 +232,7 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf,
word32 ioUse;
#endif
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
word32 alloc; /* total number of allocs */
word32 frAlc; /* total number of frees */
int flag;
@ -248,7 +248,7 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf,
typedef struct WOLFSSL_HEAP_HINT {
WOLFSSL_HEAP* memory;
WOLFSSL_MEM_CONN_STATS* stats; /* hold individual connection stats */
#ifndef WOLFSSL_LEAN_STATIC_MEMORY
#ifndef WOLFSSL_STATIC_MEMORY_LEAN
wc_Memory* outBuf; /* set if using fixed io buffers */
wc_Memory* inBuf;
byte haFlag; /* flag used for checking handshake count */
@ -261,7 +261,7 @@ WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf,
unsigned int listSz, const unsigned int *sizeList,
const unsigned int *distList, unsigned char* buf, unsigned int sz,
int flag, int max);
#ifdef WOLFSSL_DEBUG_MEMORY_CALLBACK
#ifdef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
#define WOLFSSL_DEBUG_MEMORY_ALLOC 0
#define WOLFSSL_DEBUG_MEMORY_FAIL 1
#define WOLFSSL_DEBUG_MEMORY_FREE 2

View File

@ -3259,7 +3259,8 @@ extern void uITRON4_free(void *p) ;
#if defined(WOLFSSL_NO_MALLOC) && \
(defined(WOLFSSL_SMALL_STACK) || defined(WOLFSSL_SMALL_STACK_CACHE)) && \
!defined(WOLFSSL_STATIC_MEMORY)
#error Small stack cannot be used with no malloc (WOLFSSL_NO_MALLOC)
#error Small stack cannot be used with no malloc (WOLFSSL_NO_MALLOC) and \
without staticmemory (WOLFSSL_STATIC_MEMORY)
#endif
/* If malloc is disabled make sure it is also disabled in SP math */