mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-08-02 17:27:50 +00:00
Fix alignment error of CMock_Guts_Buffer
Changed allocation to use CMOCK_MEM_INDEX_TYPE instead of unsigned char. This may allocate extra memory if CMOCK_MEM_SIZE is not a multiple of CMOCK_MEM_INDEX_SIZE. Had to substitute CMock_Guts_Buffer with a define in this case because pointers are not constants.
This commit is contained in:
+2
-1
@@ -26,7 +26,8 @@ static unsigned char* CMock_Guts_Buffer = NULL;
|
|||||||
static CMOCK_MEM_INDEX_TYPE CMock_Guts_BufferSize = CMOCK_MEM_ALIGN_SIZE;
|
static CMOCK_MEM_INDEX_TYPE CMock_Guts_BufferSize = CMOCK_MEM_ALIGN_SIZE;
|
||||||
static CMOCK_MEM_INDEX_TYPE CMock_Guts_FreePtr;
|
static CMOCK_MEM_INDEX_TYPE CMock_Guts_FreePtr;
|
||||||
#else
|
#else
|
||||||
static unsigned char CMock_Guts_Buffer[CMOCK_MEM_SIZE + CMOCK_MEM_ALIGN_SIZE];
|
static CMOCK_MEM_INDEX_TYPE CMock_Guts_BufferArray[(CMOCK_MEM_SIZE + CMOCK_MEM_INDEX_SIZE - 1) / CMOCK_MEM_INDEX_SIZE];
|
||||||
|
#define CMock_Guts_Buffer ((unsigned char*)CMock_Guts_BufferArray)
|
||||||
static CMOCK_MEM_INDEX_TYPE CMock_Guts_BufferSize = CMOCK_MEM_SIZE + CMOCK_MEM_ALIGN_SIZE;
|
static CMOCK_MEM_INDEX_TYPE CMock_Guts_BufferSize = CMOCK_MEM_SIZE + CMOCK_MEM_ALIGN_SIZE;
|
||||||
static CMOCK_MEM_INDEX_TYPE CMock_Guts_FreePtr;
|
static CMOCK_MEM_INDEX_TYPE CMock_Guts_FreePtr;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user