aboutsummaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/binding/low-can-cb.cpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-24 00:46:43 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-05-24 00:46:43 +0200
commitab4d52b65359c571267c71244578321580520c20 (patch)
tree557895b576e234b0342807aa64971577b22687d1 /CAN-binder/low-can-binding/binding/low-can-cb.cpp
parentd35da77dcd5273b54177f8bc8ae7e5992bb3ca09 (diff)
Fix memory leaks
Change-Id: I4a33b6d5f1f3b73af113aff62b024329b0ed5288 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding/binding/low-can-cb.cpp')
-rw-r--r--CAN-binder/low-can-binding/binding/low-can-cb.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/CAN-binder/low-can-binding/binding/low-can-cb.cpp b/CAN-binder/low-can-binding/binding/low-can-cb.cpp
index 9e85f5c..0dcff1d 100644
--- a/CAN-binder/low-can-binding/binding/low-can-cb.cpp
+++ b/CAN-binder/low-can-binding/binding/low-can-cb.cpp
@@ -50,6 +50,8 @@ void on_no_clients(std::string message)
if( adr != nullptr)
configuration_t::instance().get_diagnostic_manager().cleanup_request(adr, true);
}
+ delete diag_req;
+ diag_req = nullptr;
}
static void push_n_notify(const can_message_t& cm)
@@ -207,6 +209,8 @@ static int subscribe_unsubscribe_signals(struct afb_req request, bool subscribe,
diag_m.cleanup_request(
diag_m.find_recurring_request(diag_req), true);
WARNING(binder_interface, "%s: signal: %s isn't supported. Canceling operation.", __FUNCTION__, sig->get_name().c_str());
+ delete diag_req;
+ diag_req = nullptr;
return -1;
}