sensor-rec: Fix TCT fails 47/124647/1
authorkibak.yoon <kibak.yoon@samsung.com>
Wed, 12 Apr 2017 04:56:26 +0000 (13:56 +0900)
committerkibak.yoon <kibak.yoon@samsung.com>
Wed, 12 Apr 2017 04:58:06 +0000 (13:58 +0900)
- add defence code for invalid parameter
- create/destroy query handle

Change-Id: I48c382c07dd3d3bb9fae3deaced20ead50752530
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
src/client/sensor_recorder.cpp

index 51edc50..96edc11 100644 (file)
@@ -68,6 +68,9 @@ EXPORT_API int ctx_sensor_rec_create_query(ctx_sensor_rec_query_h *query)
 {
        IF_FAIL_RETURN(query, E_PARAM);
 
+       *query = new(std::nothrow) ctx_sensor_rec_query_t();
+       IF_FAIL_RETURN(query, E_NO_MEM);
+
        return E_NONE;
 }
 
@@ -75,6 +78,8 @@ EXPORT_API int ctx_sensor_rec_destroy_query(ctx_sensor_rec_query_h query)
 {
        IF_FAIL_RETURN(query, E_PARAM);
 
+       delete query;
+
        return E_NONE;
 }
 
@@ -82,7 +87,9 @@ EXPORT_API int ctx_sensor_rec_query_set_int(ctx_sensor_rec_query_h query, const
 {
        IF_FAIL_RETURN(query, E_PARAM);
        IF_FAIL_RETURN(STR_EQ(param, CTX_SENSOR_RECORDER_KEY_ANCHOR) ||
-                                  STR_EQ(param, CTX_SENSOR_RECORDER_KEY_INTERVAL), E_PARAM);
+                                  STR_EQ(param, CTX_SENSOR_RECORDER_KEY_INTERVAL) ||
+                                  STR_EQ(param, CTX_SENSOR_RECORDER_KEY_START_TIME) ||
+                                  STR_EQ(param, CTX_SENSOR_RECORDER_KEY_END_TIME), E_PARAM);
 
        return E_NONE;
 }
@@ -90,7 +97,8 @@ EXPORT_API int ctx_sensor_rec_query_set_int(ctx_sensor_rec_query_h query, const
 EXPORT_API int ctx_sensor_rec_query_set_time(ctx_sensor_rec_query_h query, const char* param, time_t t)
 {
        IF_FAIL_RETURN(query, E_PARAM);
-       IF_FAIL_RETURN(STR_EQ(param, CTX_SENSOR_RECORDER_KEY_START_TIME) ||
+       IF_FAIL_RETURN(STR_EQ(param, CTX_SENSOR_RECORDER_KEY_ANCHOR) ||
+                                  STR_EQ(param, CTX_SENSOR_RECORDER_KEY_START_TIME) ||
                                   STR_EQ(param, CTX_SENSOR_RECORDER_KEY_END_TIME), E_PARAM);
 
        return E_NONE;