diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-12-21 13:45:58 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-12-21 13:45:58 +0100 |
commit | 3fe9374a579ce30f5022d81dd2cba30ed408662d (patch) | |
tree | b78231b3a10871d6c263b718c93f84218012f4ef | |
parent | 9cb8f9e5578945b552a6f9b5d3aaaf7794d680d9 (diff) |
Code enhancements mem leaks and uninitialized byteeel_4.99.5eel/4.99.54.99.5
Change-Id: I40632b6212118278f5877957a480122e9383e3bc
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r-- | low-can-binding/diagnostic/diagnostic-manager.cpp | 13 | ||||
-rw-r--r-- | low-can-binding/diagnostic/diagnostic-manager.hpp | 1 | ||||
-rw-r--r-- | low-can-binding/utils/socketcan.cpp | 6 |
3 files changed, 18 insertions, 2 deletions
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(); diff --git a/low-can-binding/utils/socketcan.cpp b/low-can-binding/utils/socketcan.cpp index 71588a6..b943d1d 100644 --- a/low-can-binding/utils/socketcan.cpp +++ b/low-can-binding/utils/socketcan.cpp @@ -29,7 +29,9 @@ namespace utils /// @brief Construct a default, invalid, socket. socketcan_t::socketcan_t() : socket_{INVALID_SOCKET} - {} + { + ::memset(&tx_address_, 0, sizeof(tx_address_)); + } /// @brief Construct a socket by moving an existing one. socketcan_t::socketcan_t(socketcan_t&& s) @@ -94,4 +96,4 @@ namespace utils { return socket_; } -}
\ No newline at end of file +} |