diff --git a/src/systemcmds/tests/test_IntrusiveQueue.cpp b/src/systemcmds/tests/test_IntrusiveQueue.cpp index 6c7005cc1d..ff04f126eb 100644 --- a/src/systemcmds/tests/test_IntrusiveQueue.cpp +++ b/src/systemcmds/tests/test_IntrusiveQueue.cpp @@ -238,12 +238,17 @@ bool IntrusiveQueueTest::test_remove() for (int remove_i = 0; remove_i < 100; remove_i++) { // find node with i == remove_i + testContainer *removed = nullptr; + for (auto t : q1) { if (t->i == remove_i) { ut_assert_true(q1.remove(t)); + t = removed; } } + delete removed; + // iterate list again to verify removal for (auto t : q1) { ut_assert_true(t->i != remove_i); diff --git a/src/systemcmds/tests/test_List.cpp b/src/systemcmds/tests/test_List.cpp index 14936410d6..c784aa4bd0 100644 --- a/src/systemcmds/tests/test_List.cpp +++ b/src/systemcmds/tests/test_List.cpp @@ -131,12 +131,17 @@ bool ListTest::test_remove() for (int remove_i = 0; remove_i < 100; remove_i++) { // find node with i == remove_i + testContainer *removed = nullptr; + for (auto t : list1) { if (t->i == remove_i) { ut_assert_true(list1.remove(t)); + t = removed; } } + delete removed; + // iterate list again to verify removal for (auto t : list1) { ut_assert_true(t->i != remove_i);