From 5b8ec9e3020039e50f7b95f4c72961c9256307f5 Mon Sep 17 00:00:00 2001 From: Alanscut Date: Thu, 9 May 2024 10:45:16 +0800 Subject: [PATCH] feat: add tests for #842 Add some tests for setting NULL to deallocated pointers releated to #842 and #833 --- tests/misc_tests.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/misc_tests.c b/tests/misc_tests.c index ba3e003e..56f7ae35 100644 --- a/tests/misc_tests.c +++ b/tests/misc_tests.c @@ -732,6 +732,20 @@ static void cjson_set_bool_value_must_not_break_objects(void) cJSON_Delete(sobj); } +static void deallocated_pointers_should_be_set_to_null(void) +{ + /* deallocated pointers should be set to null */ + cJSON *string = cJSON_CreateString("item"); + cJSON *root = cJSON_CreateObject(); + + cJSON_Delete(string); + free(string->valuestring); + + cJSON_AddObjectToObject(root, "object"); + cJSON_Delete(root->child); + free(root->child->string); +} + int CJSON_CDECL main(void) { UNITY_BEGIN(); @@ -762,6 +776,7 @@ int CJSON_CDECL main(void) RUN_TEST(cjson_delete_item_from_array_should_not_broken_list_structure); RUN_TEST(cjson_set_valuestring_to_object_should_not_leak_memory); RUN_TEST(cjson_set_bool_value_must_not_break_objects); + RUN_TEST(deallocated_pointers_should_be_set_to_null); return UNITY_END(); }