From 0eb22823a6aaa4cf8eac56af0d9e2a6bfb9ee34c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Mon, 6 Jun 2016 16:19:00 +0200 Subject: [PATCH] fix resource leak in MavlinkParametersManager: call orb_unsubscribe --- src/modules/mavlink/mavlink_parameters.cpp | 9 +++++++++ src/modules/mavlink/mavlink_parameters.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/modules/mavlink/mavlink_parameters.cpp b/src/modules/mavlink/mavlink_parameters.cpp index 99f887a5b9..d6b7ef090c 100644 --- a/src/modules/mavlink/mavlink_parameters.cpp +++ b/src/modules/mavlink/mavlink_parameters.cpp @@ -57,6 +57,15 @@ MavlinkParametersManager::MavlinkParametersManager(Mavlink *mavlink) : MavlinkSt _uavcan_parameter_value_sub(-1) { } +MavlinkParametersManager::~MavlinkParametersManager() +{ + if (_uavcan_parameter_value_sub >= 0) { + orb_unsubscribe(_uavcan_parameter_value_sub); + } + if (_uavcan_parameter_request_pub) { + orb_unadvertise(_uavcan_parameter_request_pub); + } +} unsigned MavlinkParametersManager::get_size() diff --git a/src/modules/mavlink/mavlink_parameters.h b/src/modules/mavlink/mavlink_parameters.h index 1dcd073203..d0a14d1cd8 100644 --- a/src/modules/mavlink/mavlink_parameters.h +++ b/src/modules/mavlink/mavlink_parameters.h @@ -84,6 +84,7 @@ private: protected: explicit MavlinkParametersManager(Mavlink *mavlink); + ~MavlinkParametersManager(); void send(const hrt_abstime t);