Skip to content

Commit 5dc097b

Browse files
Chen Lihuiahcorde
authored andcommitted
calling fini functions to avoid memory leak (#791)
* Fix test memory leaks 1. calling rcutils_string_map_fini to avoid memory leak 2. Fix memory leak that not to call rcutils_string_array_fini for enclaves 3. Fix that not to rcutils_string_array_fini for node_names_2 and node_namespaces_2 4. Fix that not to rcl_log_levels_fini for copied_log_levels 5. Fix that not to call rmw_security_options_fini for options 6. Call test_msgs__srv__BasicTypes_Request__fini for service_request in the end Signed-off-by: Chen Lihui <[email protected]>
1 parent 2746f51 commit 5dc097b

File tree

5 files changed

+15
-0
lines changed

5 files changed

+15
-0
lines changed

rcl/test/rcl/test_expand_topic_name.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,9 @@ TEST(test_expand_topic_name, internal_error) {
226226
EXPECT_TRUE(rcl_error_is_set());
227227
rcl_reset_error();
228228
}
229+
230+
ret = rcutils_string_map_fini(&subs);
231+
ASSERT_EQ(RCL_RET_OK, ret);
229232
}
230233

231234
TEST(test_expand_topic_name, various_valid_topics) {

rcl/test/rcl/test_get_node_names.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,9 @@ TEST_F(
279279
ret = rcutils_string_array_fini(&node_namespaces);
280280
ASSERT_EQ(RCUTILS_RET_OK, ret);
281281

282+
ret = rcutils_string_array_fini(&enclaves);
283+
ASSERT_EQ(RCUTILS_RET_OK, ret);
284+
282285
ret = rcl_node_fini(&node1);
283286
EXPECT_EQ(RCL_RET_OK, ret) << rcl_get_error_string().str;
284287

rcl/test/rcl/test_graph.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,10 @@ TEST_F(CLASSNAME(TestGraphFixture, RMW_IMPLEMENTATION), test_bad_get_node_names)
14351435
EXPECT_EQ(RCUTILS_RET_OK, ret);
14361436
ret = rcutils_string_array_fini(&node_namespaces);
14371437
EXPECT_EQ(RCUTILS_RET_OK, ret);
1438+
ret = rcutils_string_array_fini(&node_names_2);
1439+
EXPECT_EQ(RCUTILS_RET_OK, ret);
1440+
ret = rcutils_string_array_fini(&node_namespaces_2);
1441+
EXPECT_EQ(RCUTILS_RET_OK, ret);
14381442
ret = rcutils_string_array_fini(&node_enclaves);
14391443
EXPECT_EQ(RCUTILS_RET_OK, ret);
14401444
});

rcl/test/rcl/test_security.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ TEST_F(TestGetSecureRoot, test_get_security_options) {
257257
TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME
258258
PATH_SEPARATOR "enclaves" PATH_SEPARATOR TEST_ENCLAVE,
259259
options.security_root_path);
260+
EXPECT_EQ(RMW_RET_OK, rmw_security_options_fini(&options, &allocator));
260261
}
261262

262263
TEST_F(TestGetSecureRoot, test_rcl_security_enabled) {

rcl/test/rcl/test_service.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,10 @@ TEST_F(CLASSNAME(TestServiceFixture, RMW_IMPLEMENTATION), test_fail_take_request
537537

538538
test_msgs__srv__BasicTypes_Request service_request;
539539
test_msgs__srv__BasicTypes_Request__init(&service_request);
540+
OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(
541+
{
542+
test_msgs__srv__BasicTypes_Request__fini(&service_request);
543+
});
540544
rmw_service_info_t header;
541545

542546
ret = rcl_take_request_with_info(nullptr, &header, &service_request);

0 commit comments

Comments
 (0)