Skip to content

Commit

Permalink
Fix heap-use-after-free and memory leaks reported from test_node.cpp (#…
Browse files Browse the repository at this point in the history
…719)

Fix AddressSanitizer errors reported by test_node.cpp unit test.

Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
Signed-off-by: Siddharth Kucheria <kucheria@usc.edu>
  • Loading branch information
Prajakta Gokhale authored and skucheria committed Jul 13, 2019
1 parent ef41059 commit e467d37
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
4 changes: 2 additions & 2 deletions rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -493,10 +493,10 @@ NodeParameters::set_parameters_atomically(const std::vector<rclcpp::Parameter> &
// assumption: the parameter to be undeclared should be in the parameter infos map
assert(it != parameters_.end());
if (it != parameters_.end()) {
// Remove it and update the parameter event message.
parameters_.erase(it);
// Update the parameter event message and remove it.
parameter_event_msg.deleted_parameters.push_back(
rclcpp::Parameter(it->first, it->second.value).to_parameter_msg());
parameters_.erase(it);
}
}

Expand Down
3 changes: 3 additions & 0 deletions rclcpp/src/rclcpp/node_options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ rcl_node_options_t_destructor(rcl_node_options_t * node_options)
"failed to finalize rcl node options: %s", rcl_get_error_string().str);
rcl_reset_error();
}

delete node_options;
node_options = nullptr;
}
}
} // namespace detail
Expand Down

0 comments on commit e467d37

Please sign in to comment.