From 5f35f5aa73c24a23ea27a2de52781136a5584dde Mon Sep 17 00:00:00 2001 From: Yunmi Ha Date: Thu, 19 Aug 2021 17:42:41 +0900 Subject: [PATCH] Add checking NULL for strdup Change-Id: I42b437d06970045fc8d3af8c919c54d903a4db5e Signed-off-by: Yunmi Ha --- src/sensor.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/sensor.cpp b/src/sensor.cpp index 63bda6f..d63290c 100644 --- a/src/sensor.cpp +++ b/src/sensor.cpp @@ -813,10 +813,15 @@ int sensor_listener_flush(sensor_listener_h listener) int sensor_get_uri(sensor_h sensor, char **uri) { + const char *ret_url; + if (!sensor || !uri) return SENSOR_ERROR_INVALID_PARAMETER; - *uri = strdup(sensord_get_uri(sensor)); + if ((ret_url = sensord_get_uri(sensor)) == NULL) + return SENSOR_ERROR_OPERATION_FAILED; + + *uri = strdup(ret_url); return SENSOR_ERROR_NONE; } @@ -825,10 +830,15 @@ int sensor_get_name(sensor_h sensor, char** name) { _D("called sensor_get_name"); + const char *ret_name; + if (!sensor || !name) return SENSOR_ERROR_INVALID_PARAMETER; - *name = strdup(sensord_get_name(sensor)); + if ((ret_name = sensord_get_name(sensor)) == NULL) + return SENSOR_ERROR_OPERATION_FAILED; + + *name = strdup(ret_name); _D("success sensor_get_vendor : [%s]", *name); @@ -839,10 +849,15 @@ int sensor_get_vendor(sensor_h sensor, char** vendor) { _D("called sensor_get_vendor"); + const char *ret_vendor; + if (!sensor || !vendor) return SENSOR_ERROR_INVALID_PARAMETER; - *vendor = strdup(sensord_get_vendor(sensor)); + if ((ret_vendor = sensord_get_vendor(sensor)) == NULL) + return SENSOR_ERROR_OPERATION_FAILED; + + *vendor = strdup(ret_vendor); _D("success sensor_vendor : [%s]", *vendor); -- 2.34.1