From 4c6f7e51d77ea3465627e5c89db1b4601d11580d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9A=8F=E9=A3=8E=E8=80=8C=E6=95=A3?= <13459528+suifengersan@user.noreply.gitee.com> Date: Wed, 26 Nov 2025 10:16:52 +0800 Subject: [PATCH 1/9] fix bug UAF Signed-off-by: suifengersan123 --- .../dwb_plugins/kinematic_parameters.hpp | 12 ++++++-- .../dwb_plugins/src/kinematic_parameters.cpp | 30 ++++++++++++++----- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index b8e976a02f7..2a52055022f 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -39,7 +39,7 @@ #include #include #include - +#include #include "nav2_ros_common/lifecycle_node.hpp" #include "rclcpp/rclcpp.hpp" @@ -145,7 +145,15 @@ class KinematicsHandler void activate(); void deactivate(); - inline KinematicParameters getKinematics() {return *kinematics_.load();} + inline KinematicParameters getKinematics() { + KinematicParameters* ptr = kinematics_.load(); + // Check for nullptr before dereferencing + if (ptr == nullptr) { + throw std::runtime_error( + "KinematicsHandler::getKinematics() called before kinematics_ is initialized"); + } + return *ptr; + } void setSpeedLimit(const double & speed_limit, const bool & percentage); diff --git a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp index b6512272e86..40220b08bcb 100644 --- a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp @@ -33,7 +33,7 @@ */ #include "dwb_plugins/kinematic_parameters.hpp" - +#include #include #include #include @@ -55,7 +55,10 @@ KinematicsHandler::KinematicsHandler() KinematicsHandler::~KinematicsHandler() { - delete kinematics_.load(); + KinematicParameters* ptr = kinematics_.load(); + if (ptr != nullptr) { + delete ptr; + } } void KinematicsHandler::initialize( @@ -151,7 +154,11 @@ void KinematicsHandler::deactivate() void KinematicsHandler::setSpeedLimit( const double & speed_limit, const bool & percentage) { - KinematicParameters kinematics(*kinematics_.load()); + KinematicParameters* ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); if (speed_limit == nav2_costmap_2d::NO_SPEED_LIMIT) { // Restore default value @@ -232,7 +239,11 @@ void KinematicsHandler::updateParametersCallback(std::vector parameters) { rcl_interfaces::msg::SetParametersResult result; - KinematicParameters kinematics(*kinematics_.load()); + KinematicParameters* ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); for (auto parameter : parameters) { const auto & param_type = parameter.get_type(); @@ -282,10 +293,13 @@ KinematicsHandler::updateParametersCallback(std::vector param update_kinematics(kinematics); } -void KinematicsHandler::update_kinematics(KinematicParameters kinematics) -{ - delete kinematics_.load(); - kinematics_.store(new KinematicParameters(kinematics)); +void KinematicsHandler::update_kinematics(KinematicParameters kinematics) { + KinematicParameters* new_kinematics = new KinematicParameters(kinematics); + KinematicParameters* old_kinematics = kinematics_.exchange(new_kinematics); + + if (old_kinematics != nullptr) { + delete old_kinematics; + } } } // namespace dwb_plugins From c29081957fbf9153d1368004ab368536550b997b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9A=8F=E9=A3=8E=E8=80=8C=E6=95=A3?= <13459528+suifengersan@user.noreply.gitee.com> Date: Thu, 27 Nov 2025 19:12:24 +0800 Subject: [PATCH 2/9] fix linting problems Signed-off-by: suifengersan123 Signed-off-by: suifengersan123 --- .../dwb_plugins/kinematic_parameters.hpp | 4 +-- .../dwb_plugins/src/kinematic_parameters.cpp | 27 +++++++++---------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index 2a52055022f..7685107b15d 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -147,10 +147,8 @@ class KinematicsHandler inline KinematicParameters getKinematics() { KinematicParameters* ptr = kinematics_.load(); - // Check for nullptr before dereferencing if (ptr == nullptr) { - throw std::runtime_error( - "KinematicsHandler::getKinematics() called before kinematics_ is initialized"); + throw std::runtime_error("KinematicsHandler::getKinematics() called before kinematics_ is initialized"); } return *ptr; } diff --git a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp index 40220b08bcb..f990e7365ab 100644 --- a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp @@ -56,9 +56,9 @@ KinematicsHandler::KinematicsHandler() KinematicsHandler::~KinematicsHandler() { KinematicParameters* ptr = kinematics_.load(); - if (ptr != nullptr) { - delete ptr; - } + if (ptr != nullptr) { + delete ptr; + } } void KinematicsHandler::initialize( @@ -154,11 +154,11 @@ void KinematicsHandler::deactivate() void KinematicsHandler::setSpeedLimit( const double & speed_limit, const bool & percentage) { - KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + KinematicParameters* ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); if (speed_limit == nav2_costmap_2d::NO_SPEED_LIMIT) { // Restore default value @@ -239,11 +239,11 @@ void KinematicsHandler::updateParametersCallback(std::vector parameters) { rcl_interfaces::msg::SetParametersResult result; - KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + KinematicParameters* ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); for (auto parameter : parameters) { const auto & param_type = parameter.get_type(); @@ -296,7 +296,6 @@ KinematicsHandler::updateParametersCallback(std::vector param void KinematicsHandler::update_kinematics(KinematicParameters kinematics) { KinematicParameters* new_kinematics = new KinematicParameters(kinematics); KinematicParameters* old_kinematics = kinematics_.exchange(new_kinematics); - if (old_kinematics != nullptr) { delete old_kinematics; } From 52aa682eb6c1eda6685767f9c0da253d9d123edc Mon Sep 17 00:00:00 2001 From: suifengersan123 Date: Thu, 27 Nov 2025 20:04:05 +0800 Subject: [PATCH 3/9] fix linting problems Signed-off-by: suifengersan123 Signed-off-by: suifengersan123 --- .../dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index 7685107b15d..6f97644c8a9 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -147,8 +147,9 @@ class KinematicsHandler inline KinematicParameters getKinematics() { KinematicParameters* ptr = kinematics_.load(); + // Check for nullptr before dereferencing if (ptr == nullptr) { - throw std::runtime_error("KinematicsHandler::getKinematics() called before kinematics_ is initialized"); + throw std::runtime_error("Can't call KinematicsHandler::getKinematics()!"); } return *ptr; } From c00990dcbfbb75b809b6c8f13953a94d71e4666d Mon Sep 17 00:00:00 2001 From: suifengersan123 Date: Thu, 27 Nov 2025 20:49:45 +0800 Subject: [PATCH 4/9] fix linting problems Signed-off-by: suifengersan123 Signed-off-by: suifengersan123 --- .../dwb_plugins/kinematic_parameters.hpp | 13 ++++++------ .../dwb_plugins/src/kinematic_parameters.cpp | 20 +++++++++---------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index 6f97644c8a9..8758c8f1237 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -146,13 +146,12 @@ class KinematicsHandler void deactivate(); inline KinematicParameters getKinematics() { - KinematicParameters* ptr = kinematics_.load(); - // Check for nullptr before dereferencing - if (ptr == nullptr) { - throw std::runtime_error("Can't call KinematicsHandler::getKinematics()!"); - } - return *ptr; - } + KinematicParameters* ptr = kinematics_.load(); + if (ptr == nullptr) { + throw std::runtime_error("Can't call KinematicsHandler::getKinematics()!"); + } + return *ptr; + } void setSpeedLimit(const double & speed_limit, const bool & percentage); diff --git a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp index f990e7365ab..9821695043a 100644 --- a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp @@ -154,11 +154,11 @@ void KinematicsHandler::deactivate() void KinematicsHandler::setSpeedLimit( const double & speed_limit, const bool & percentage) { - KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + KinematicParameters* ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); if (speed_limit == nav2_costmap_2d::NO_SPEED_LIMIT) { // Restore default value @@ -239,11 +239,11 @@ void KinematicsHandler::updateParametersCallback(std::vector parameters) { rcl_interfaces::msg::SetParametersResult result; - KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + KinematicParameters* ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); for (auto parameter : parameters) { const auto & param_type = parameter.get_type(); From 637603f940fe740257d48a48bf41f6172c3b1a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9A=8F=E9=A3=8E=E8=80=8C=E6=95=A3?= <13459528+suifengersan@user.noreply.gitee.com> Date: Thu, 27 Nov 2025 19:12:24 +0800 Subject: [PATCH 5/9] fix linting problems Signed-off-by: suifengersan123 Signed-off-by: suifengersan123 --- .../dwb_plugins/src/kinematic_parameters.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp index 9821695043a..d56e756b467 100644 --- a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp @@ -155,10 +155,10 @@ void KinematicsHandler::setSpeedLimit( const double & speed_limit, const bool & percentage) { KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); if (speed_limit == nav2_costmap_2d::NO_SPEED_LIMIT) { // Restore default value @@ -240,10 +240,10 @@ KinematicsHandler::updateParametersCallback(std::vector param { rcl_interfaces::msg::SetParametersResult result; KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); for (auto parameter : parameters) { const auto & param_type = parameter.get_type(); From 5253493afaf40f2f077d77eb62389598b3914ff1 Mon Sep 17 00:00:00 2001 From: suifengersan123 Date: Thu, 27 Nov 2025 20:53:25 +0800 Subject: [PATCH 6/9] fix linting problems Signed-off-by: suifengersan123 Signed-off-by: suifengersan123 --- .../dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index 8758c8f1237..5bc21d77587 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -148,7 +148,7 @@ class KinematicsHandler inline KinematicParameters getKinematics() { KinematicParameters* ptr = kinematics_.load(); if (ptr == nullptr) { - throw std::runtime_error("Can't call KinematicsHandler::getKinematics()!"); + throw std::runtime_error("Can't call KinematicsHandler::getKinematics()."); } return *ptr; } From 7550e2cbea6667018fe15ed55ddb158f17f870e3 Mon Sep 17 00:00:00 2001 From: suifengersan123 Date: Thu, 27 Nov 2025 21:26:08 +0800 Subject: [PATCH 7/9] fix linting problems Signed-off-by: suifengersan123 Signed-off-by: suifengersan123 --- .../dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index 5bc21d77587..b67d9c90cc8 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -145,8 +145,9 @@ class KinematicsHandler void activate(); void deactivate(); - inline KinematicParameters getKinematics() { - KinematicParameters* ptr = kinematics_.load(); + inline KinematicParameters getKinematics() + { + KinematicParameters * ptr = kinematics_.load(); if (ptr == nullptr) { throw std::runtime_error("Can't call KinematicsHandler::getKinematics()."); } From f3ff56e7a64d3522a9d28246b88a43fe31fcef2c Mon Sep 17 00:00:00 2001 From: suifengersan123 Date: Thu, 27 Nov 2025 22:03:39 +0800 Subject: [PATCH 8/9] fix linting problems Signed-off-by: suifengersan123 --- .../dwb_plugins/kinematic_parameters.hpp | 8 +++--- .../dwb_plugins/src/kinematic_parameters.cpp | 27 ++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index b67d9c90cc8..caef4c19b3c 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -147,11 +147,11 @@ class KinematicsHandler inline KinematicParameters getKinematics() { - KinematicParameters * ptr = kinematics_.load(); - if (ptr == nullptr) { + KinematicParameters * ptr = kinematics_.load(); + if (ptr == nullptr) { throw std::runtime_error("Can't call KinematicsHandler::getKinematics()."); - } - return *ptr; + } + return *ptr; } void setSpeedLimit(const double & speed_limit, const bool & percentage); diff --git a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp index d56e756b467..812ea0d1e14 100644 --- a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp @@ -55,7 +55,7 @@ KinematicsHandler::KinematicsHandler() KinematicsHandler::~KinematicsHandler() { - KinematicParameters* ptr = kinematics_.load(); + KinematicParameters * ptr = kinematics_.load(); if (ptr != nullptr) { delete ptr; } @@ -154,11 +154,11 @@ void KinematicsHandler::deactivate() void KinematicsHandler::setSpeedLimit( const double & speed_limit, const bool & percentage) { - KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + KinematicParameters * ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); if (speed_limit == nav2_costmap_2d::NO_SPEED_LIMIT) { // Restore default value @@ -240,10 +240,10 @@ KinematicsHandler::updateParametersCallback(std::vector param { rcl_interfaces::msg::SetParametersResult result; KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); for (auto parameter : parameters) { const auto & param_type = parameter.get_type(); @@ -293,9 +293,10 @@ KinematicsHandler::updateParametersCallback(std::vector param update_kinematics(kinematics); } -void KinematicsHandler::update_kinematics(KinematicParameters kinematics) { - KinematicParameters* new_kinematics = new KinematicParameters(kinematics); - KinematicParameters* old_kinematics = kinematics_.exchange(new_kinematics); +void KinematicsHandler::update_kinematics(KinematicParameters kinematics) +{ + KinematicParameters * new_kinematics = new KinematicParameters(kinematics); + KinematicParameters * old_kinematics = kinematics_.exchange(new_kinematics); if (old_kinematics != nullptr) { delete old_kinematics; } From 6bdc5ca747e5cb40502c5a742989dd20647cccd5 Mon Sep 17 00:00:00 2001 From: suifengersan123 Date: Fri, 28 Nov 2025 09:06:58 +0800 Subject: [PATCH 9/9] fix linting problems Signed-off-by: suifengersan123 --- .../dwb_plugins/kinematic_parameters.hpp | 2 +- .../dwb_plugins/src/kinematic_parameters.cpp | 32 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp index caef4c19b3c..763ff3ae9a8 100644 --- a/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp +++ b/nav2_dwb_controller/dwb_plugins/include/dwb_plugins/kinematic_parameters.hpp @@ -149,7 +149,7 @@ class KinematicsHandler { KinematicParameters * ptr = kinematics_.load(); if (ptr == nullptr) { - throw std::runtime_error("Can't call KinematicsHandler::getKinematics()."); + throw std::runtime_error("Can't call KinematicsHandler::getKinematics()."); } return *ptr; } diff --git a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp index 812ea0d1e14..e51778b7189 100644 --- a/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/kinematic_parameters.cpp @@ -154,11 +154,11 @@ void KinematicsHandler::deactivate() void KinematicsHandler::setSpeedLimit( const double & speed_limit, const bool & percentage) { - KinematicParameters * ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + KinematicParameters * ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); if (speed_limit == nav2_costmap_2d::NO_SPEED_LIMIT) { // Restore default value @@ -215,9 +215,9 @@ rcl_interfaces::msg::SetParametersResult KinematicsHandler::validateParameterUpd param_name == plugin_name_ + ".acc_lim_theta")) { RCLCPP_WARN( - logger_, "The value of parameter '%s' is incorrectly set to %f, " - "it should be >= 0. Ignoring parameter update.", - param_name.c_str(), parameter.as_double()); + logger_, "The value of parameter '%s' is incorrectly set to %f, " + "it should be >= 0. Ignoring parameter update.", + param_name.c_str(), parameter.as_double()); result.successful = false; } else if (parameter.as_double() > 0.0 && // NOLINT (param_name == plugin_name_ + ".decel_lim_x" || @@ -225,9 +225,9 @@ rcl_interfaces::msg::SetParametersResult KinematicsHandler::validateParameterUpd param_name == plugin_name_ + ".decel_lim_theta")) { RCLCPP_WARN( - logger_, "The value of parameter '%s' is incorrectly set to %f, " - "it should be <= 0. Ignoring parameter update.", - param_name.c_str(), parameter.as_double()); + logger_, "The value of parameter '%s' is incorrectly set to %f, " + "it should be <= 0. Ignoring parameter update.", + param_name.c_str(), parameter.as_double()); result.successful = false; } } @@ -239,11 +239,11 @@ void KinematicsHandler::updateParametersCallback(std::vector parameters) { rcl_interfaces::msg::SetParametersResult result; - KinematicParameters* ptr = kinematics_.load(); - if (ptr == nullptr) { - return; // Nothing to update - } - KinematicParameters kinematics(*ptr); + KinematicParameters * ptr = kinematics_.load(); + if (ptr == nullptr) { + return; // Nothing to update + } + KinematicParameters kinematics(*ptr); for (auto parameter : parameters) { const auto & param_type = parameter.get_type();