From c787042e6d28b593869de456043f5b08fbb2d13a Mon Sep 17 00:00:00 2001 From: John Lindgren Date: Wed, 30 Oct 2019 10:30:25 -0400 Subject: [PATCH] Fix off-by-one error in out-of-memory check. We should be able to allocate up to CMock_Guts_MemBytesFree() minus CMOCK_MEM_INDEX_SIZE. An incorrect less-than-or-equal prevented allocating the very last byte. --- src/cmock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmock.c b/src/cmock.c index 67a87cc..5e5cb6c 100644 --- a/src/cmock.c +++ b/src/cmock.c @@ -45,7 +45,7 @@ CMOCK_MEM_INDEX_TYPE CMock_Guts_MemNew(CMOCK_MEM_INDEX_TYPE size) size = size + CMOCK_MEM_INDEX_SIZE; if (size & CMOCK_MEM_ALIGN_MASK) size = (size + CMOCK_MEM_ALIGN_MASK) & ~CMOCK_MEM_ALIGN_MASK; - if ((CMock_Guts_BufferSize - CMock_Guts_FreePtr) <= size) + if ((CMock_Guts_BufferSize - CMock_Guts_FreePtr) < size) { #ifndef CMOCK_MEM_DYNAMIC return CMOCK_GUTS_NONE; // nothing we can do; our static buffer is out of memory