From d42b7240d7cbd8a36b5adfd9a5726302b37a0b0f Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Thu, 21 Dec 2017 13:45:58 +0100 Subject: Code enhancements mem leaks and uninitialized byte Change-Id: I40632b6212118278f5877957a480122e9383e3bc Signed-off-by: Romain Forlot --- low-can-binding/diagnostic/diagnostic-manager.cpp | 13 +++++++++++++ low-can-binding/diagnostic/diagnostic-manager.hpp | 1 + 2 files changed, 14 insertions(+) diff --git a/low-can-binding/diagnostic/diagnostic-manager.cpp b/low-can-binding/diagnostic/diagnostic-manager.cpp index 8533503..0454a7e 100644 --- a/low-can-binding/diagnostic/diagnostic-manager.cpp +++ b/low-can-binding/diagnostic/diagnostic-manager.cpp @@ -36,6 +36,19 @@ diagnostic_manager_t::diagnostic_manager_t() : initialized_{false} {} + +diagnostic_manager_t::~diagnostic_manager_t() +{ + for(auto r: recurring_requests_) + { + delete(r); + } + for(auto r: non_recurring_requests_) + { + delete(r); + } +} + /// @brief Diagnostic manager isn't initialized at launch but after /// CAN bus devices initialization. For the moment, it is only possible /// to have 1 diagnostic bus which are the first bus declared in the JSON diff --git a/low-can-binding/diagnostic/diagnostic-manager.hpp b/low-can-binding/diagnostic/diagnostic-manager.hpp index b503a06..1a6ae7e 100644 --- a/low-can-binding/diagnostic/diagnostic-manager.hpp +++ b/low-can-binding/diagnostic/diagnostic-manager.hpp @@ -59,6 +59,7 @@ private: static void shims_timer(); public: diagnostic_manager_t(); + ~diagnostic_manager_t(); bool initialize(); -- cgit 1.2.3-korg