[Non-ACR][Fix for TNEXT-14733] 98/182398/2
authorSudipto <sudipto.bal@samsung.com>
Fri, 22 Jun 2018 15:44:06 +0000 (21:14 +0530)
committerSudipto <sudipto.bal@samsung.com>
Thu, 28 Jun 2018 10:59:51 +0000 (16:29 +0530)
Change-Id: I14d086469e48473e85ed509e6e7b7b7e5fa0c07f
Signed-off-by: Sudipto <sudipto.bal@samsung.com>
src/server/sensor_event_handler.cpp

index 4fac18d..3c28f49 100644 (file)
@@ -35,7 +35,7 @@ sensor_event_handler::sensor_event_handler(physical_sensor_handler *sensor)
 bool sensor_event_handler::handle(int fd, ipc::event_condition condition)
 {
        sensor_info info;
-       sensor_data_t *data;
+       sensor_data_t *data = NULL;
        int length = 0;
        int remains = 1;
 
@@ -56,14 +56,18 @@ bool sensor_event_handler::handle(int fd, ipc::event_condition condition)
 
                if (m_sensor->on_event(data, length, remains) < 0) {
                        free(data);
+                       data = NULL;
                        continue;
                }
 
                info = m_sensor->get_sensor_info();
 
                //_I("[Data] allocate %p", data);
-               if (m_sensor->notify(info.get_uri().c_str(), data, length) < 0) {
-                       free(data);
+               if(data) {
+                       if (m_sensor->notify(info.get_uri().c_str(), data, length) < 0) {
+                               free(data);
+                               data = NULL;
+                       }
                }
                info.clear();
        }