Add checking NULL for strdup 66/262766/1 accepted/tizen/unified/20210823.124232 submit/tizen/20210820.083850
authorYunmi Ha <yunmi.ha@samsung.com>
Thu, 19 Aug 2021 08:42:41 +0000 (17:42 +0900)
committerYunmi Ha <yunmi.ha@samsung.com>
Thu, 19 Aug 2021 08:42:41 +0000 (17:42 +0900)
Change-Id: I42b437d06970045fc8d3af8c919c54d903a4db5e
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
src/sensor.cpp

index 63bda6f..d63290c 100644 (file)
@@ -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);