sensorctl: Fix resource leak and check valid of return value 77/282077/2
authorTaeminYeom <taemin.yeom@samsung.com>
Tue, 27 Sep 2022 01:27:47 +0000 (10:27 +0900)
committerTaeminYeom <taemin.yeom@samsung.com>
Tue, 27 Sep 2022 03:48:03 +0000 (12:48 +0900)
Change-Id: Icc5905b2bb8d92df16df5e2856a39b5bb74b815e
Signed-off-by: TaeminYeom <taemin.yeom@samsung.com>
src/sensorctl/testcase/sensor_listener.cpp
src/sensorctl/testcase/sensor_provider.cpp

index 724c09c..7cdf8b8 100644 (file)
@@ -61,10 +61,8 @@ TESTCASE(sensor_listener, get_sensors_p_1)
 
        err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
        ASSERT_EQ(err, 0);
-       ASSERT_FREE((count < 0), sensors);
-       ASSERT_GT(count, 0);
-
        free(sensors);
+       ASSERT_GT(count, 0);
 
        return true;
 }
@@ -618,8 +616,9 @@ static int attribute_value = 0;
 static gboolean change_attribute_int(gpointer gdata)
 {
        int *handle = reinterpret_cast<int *>(gdata);
-
-       sensord_set_attribute_int(*handle, attribute, attribute_value);
+       int ret = sensord_set_attribute_int(*handle, attribute, attribute_value);
+       if (ret < 0)
+               return false;
 
        _N("[ SET ATTRIBUTE INT ] attribute %d, value : %d\n", attribute, attribute_value);
 
@@ -627,7 +626,7 @@ static gboolean change_attribute_int(gpointer gdata)
 
        attribute_value ? attribute_value = 0 : attribute_value = 1;
 
-       return FALSE;
+       return false;
 }
 
 TESTCASE(skip_sensor_listener, attribute_int_changer)
@@ -708,7 +707,9 @@ static gboolean change_attribute_str(gpointer gdata)
 {
        int *handle = reinterpret_cast<int *>(gdata);
        int len = strlen(attribute_value_str) + 1;
-       sensord_set_attribute_str(*handle, attribute, attribute_value_str, len);
+       int ret = sensord_set_attribute_str(*handle, attribute, attribute_value_str, len);
+       if (ret < 0)
+               return false;
 
        _N("[ SET ATTRIBUTE STR ] attribute %d, value : %s, len : %d\n", attribute, attribute_value_str, len);
 
@@ -720,7 +721,7 @@ static gboolean change_attribute_str(gpointer gdata)
                attribute_value_str = attribute_value_str1;
        }
 
-       return FALSE;
+       return false;
 }
 
 TESTCASE(skip_sensor_listener, attribute_str_changer)
index 8ff3631..8afac14 100644 (file)
@@ -504,7 +504,13 @@ TESTCASE(skip_sensor_provider, mysensor_get_data_list)
 
        ret = sensord_get_data_list(handle, data_id, &data_list, &count);
        ASSERT_TRUE(ret);
-       ASSERT_EQ(count, NUMBER_OF_EVENT);
+       if (count != NUMBER_OF_EVENT) {
+               free(data_list);
+               sensord_stop(handle);
+               sensord_unregister_events(handle, 1);
+               sensord_disconnect(handle);
+               return false;
+       }
 
        for (int i = 0 ; i < count; i++) {
                _I("[%llu]", data_list[i].timestamp);