mirror of
https://github.com/ThrowTheSwitch/Unity.git
synced 2025-06-25 01:59:21 +08:00
unity_fixture: Make unity_free() NULL-safe
At the start of unity_free(), check mem for NULL, and return immediately if it is, so we don't crash in this case. This mimics the behaviour of most free() implementations. Closes #135. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
This commit is contained in:
@ -227,7 +227,14 @@ static void release_memory(void * mem)
|
||||
|
||||
void unity_free(void * mem)
|
||||
{
|
||||
int overrun = isOverrun(mem);//strcmp(&memAsChar[guard->size], end) != 0;
|
||||
int overrun;
|
||||
|
||||
if (mem == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
overrun = isOverrun(mem);//strcmp(&memAsChar[guard->size], end) != 0;
|
||||
release_memory(mem);
|
||||
if (overrun)
|
||||
{
|
||||
|
@ -132,6 +132,11 @@ TEST(UnityFixture, PointerSet)
|
||||
TEST_ASSERT_POINTERS_EQUAL(&c2, p2);
|
||||
}
|
||||
|
||||
TEST(UnityFixture, FreeNULLSafety)
|
||||
{
|
||||
unity_free(NULL);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------
|
||||
|
||||
TEST_GROUP(UnityCommandOptions);
|
||||
|
@ -18,6 +18,7 @@ TEST_GROUP_RUNNER(UnityFixture)
|
||||
RUN_TEST_CASE(UnityFixture, ReallocSizeZeroFreesMemAndReturnsNullPointer);
|
||||
RUN_TEST_CASE(UnityFixture, CallocFillsWithZero);
|
||||
RUN_TEST_CASE(UnityFixture, PointerSet);
|
||||
RUN_TEST_CASE(UnityFixture, FreeNULLSafety);
|
||||
}
|
||||
|
||||
TEST_GROUP_RUNNER(UnityCommandOptions)
|
||||
|
Reference in New Issue
Block a user