From f396ff2bac75545542343a90905ccb98cc4f30f7 Mon Sep 17 00:00:00 2001 From: Karsten Knese Date: Wed, 14 Jun 2017 11:39:22 -0700 Subject: [PATCH] string array takes allocator (#338) --- rclcpp/src/rclcpp/node_interfaces/node_graph.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/rclcpp/src/rclcpp/node_interfaces/node_graph.cpp b/rclcpp/src/rclcpp/node_interfaces/node_graph.cpp index 4416422..d0b87bd 100644 --- a/rclcpp/src/rclcpp/node_interfaces/node_graph.cpp +++ b/rclcpp/src/rclcpp/node_interfaces/node_graph.cpp @@ -88,14 +88,15 @@ NodeGraph::get_node_names() const rcutils_string_array_t node_names_c = rcutils_get_zero_initialized_string_array(); + auto allocator = rcl_get_default_allocator(); auto ret = rcl_get_node_names( node_base_->get_rcl_node_handle(), - rcl_get_default_allocator(), + allocator, &node_names_c); if (ret != RCL_RET_OK) { auto error_msg = std::string("failed to get node names: ") + rcl_get_error_string_safe(); rcl_reset_error(); - if (rcutils_string_array_fini(&node_names_c) != RCUTILS_RET_OK) { + if (rcutils_string_array_fini(&node_names_c, &allocator) != RCUTILS_RET_OK) { error_msg += std::string(", failed also to cleanup node names, leaking memory: ") + rcl_get_error_string_safe(); } @@ -105,7 +106,7 @@ NodeGraph::get_node_names() const std::vector node_names(&node_names_c.data[0], &node_names_c.data[0 + node_names_c.size]); - ret = rcutils_string_array_fini(&node_names_c); + ret = rcutils_string_array_fini(&node_names_c, &allocator); if (ret != RCUTILS_RET_OK) { // *INDENT-OFF* // TODO(karsten1987): Append rcutils_error_message once it's in master