From: Sudipto Date: Thu, 28 Jun 2018 09:55:02 +0000 (+0530) Subject: [Non-ACR][Fix for TFIVE-11871] X-Git-Tag: accepted/tizen/5.0/unified/20181102.021914~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eaa5747459b8db9f43b55176a561222338a15c7d;p=platform%2Fcore%2Fsystem%2Fsensord.git [Non-ACR][Fix for TFIVE-11871] Change-Id: Ief91ed874a9af2c3793dbf07689b08aed8363246 Signed-off-by: Sudipto --- diff --git a/src/server/sensor_handler.cpp b/src/server/sensor_handler.cpp index 37c4dc2..fcfef69 100644 --- a/src/server/sensor_handler.cpp +++ b/src/server/sensor_handler.cpp @@ -98,12 +98,15 @@ uint32_t sensor_handler::observer_count(void) void sensor_handler::set_cache(sensor_data_t *data, int size) { - if (m_last_data == NULL) { - m_last_data = (sensor_data_t*)malloc(size); + retm_if(data == NULL, "Nothing to copy from as source is NULL"); + retm_if(size <= 0, "data is of size 0"); + + if (m_last_data_size != size) { + m_last_data = (sensor_data_t*)realloc(m_last_data, size); retm_if(m_last_data == NULL, "Memory allocation failed"); + m_last_data_size = size; } - m_last_data_size = size; memcpy(m_last_data, data, size); }