From c8f5f44c375806855ab0902edc29bf19c1ea20f8 Mon Sep 17 00:00:00 2001 From: Ingi Kim Date: Thu, 25 Oct 2018 18:52:25 +0900 Subject: [PATCH 1/1] [Tizen 5.0] Sensord: Fix memory leak Memory leak is detected by DML. physical_sensor_handler:get_data() pushed data to ids which is vector type but it isn't cleared till end of execution. Change-Id: I1b20b3c4feefc8ba7ade7a9ae0c80ae40a8a9ec7 Signed-off-by: Ingi Kim --- src/server/sensor_event_handler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/server/sensor_event_handler.cpp b/src/server/sensor_event_handler.cpp index 73b5a05..a3422a7 100644 --- a/src/server/sensor_event_handler.cpp +++ b/src/server/sensor_event_handler.cpp @@ -45,7 +45,10 @@ bool sensor_event_handler::handle(int fd, ipc::event_condition condition) auto result = std::find(std::begin(ids), std::end(ids), m_sensor->get_hal_id()); if (result == std::end(ids)) + { + ids.clear(); return true; + } while (remains > 0) { remains = m_sensor->get_data(&data, &length); @@ -72,5 +75,7 @@ bool sensor_event_handler::handle(int fd, ipc::event_condition condition) info.clear(); } + ids.clear(); + return true; } -- 2.7.4