Fix typo and not checked invalid param 80/89980/1
authorHyunho Kang <hhstark.kang@samsung.com>
Wed, 28 Sep 2016 02:36:13 +0000 (11:36 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Wed, 28 Sep 2016 02:43:53 +0000 (11:43 +0900)
Change-Id: I5981eb5ec4fb9e5e50202111d8294e159bce9fed
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
src/data_control_map.c
src/data_control_provider.c
src/data_control_sql.c

index e568e1f824f224324aec6e80d2c3016aec0ecce9..25648abbf060b4346e54d897f221c01a26ae8c23 100644 (file)
@@ -210,7 +210,7 @@ EXPORT_API int data_control_map_register_add_bulk_data_response_cb(data_control_
 
 EXPORT_API int data_control_map_unregister_add_bulk_data_response_cb(data_control_h provider)
 {
-       if (provider->provider_id && __bulk_response_table) {
+       if (provider != NULL && provider->provider_id && __bulk_response_table) {
                if (g_hash_table_lookup(__bulk_response_table, provider->provider_id) != NULL) {
                        g_hash_table_remove(__bulk_response_table, provider->provider_id);
                } else {
index 5e242c05db998cf060731f15831647d8b619ad64..5f8ccb28a88000f05235e5ccccf4e42cc930a7b3 100755 (executable)
@@ -64,7 +64,6 @@ static void __sql_insert_request_cb(int request_id, datacontrol_h provider, bund
                sql_provider_callback.insert_cb(request_id, (data_control_h)provider, insert_data, user_data);
 }
 
-
 static void __sql_bulk_insert_request_cb(int request_id, datacontrol_h provider, data_control_bulk_data_h bulk_data, void *user_data)
 {
        _LOGI("sql_bulk_insert_request");
@@ -190,7 +189,7 @@ EXPORT_API int data_control_provider_sql_register_insert_bulk_data_request_cb(
        return datacontrol_provider_sql_register_cb(&sql_internal_callback, NULL);
 }
 
-EXPORT_API int data_control_provider_sql_unregister_add_bulk_data_request_cb(void)
+EXPORT_API int data_control_provider_sql_unregister_insert_bulk_data_request_cb(void)
 {
        memset(&map_provider_bulk_callback, 0, sizeof(data_control_provider_bulk_cb));
        return DATA_CONTROL_ERROR_NONE;
@@ -262,6 +261,25 @@ EXPORT_API int data_control_provider_get_client_appid(int request_id, char **app
 
 EXPORT_API int data_control_provider_send_bulk_insert_result(int request_id, data_control_bulk_result_data_h bulk_results)
 {
+       int count;
+       int ret = DATA_CONTROL_ERROR_NONE;
+
+       if (bulk_results == NULL) {
+               _LOGE("Null bulk result data");
+               return DATA_CONTROL_ERROR_INVALID_PARAMETER;
+       }
+
+       ret = data_control_bulk_result_data_get_count(bulk_results, &count);
+       if (ret != DATA_CONTROL_ERROR_NONE) {
+               _LOGE("Fail to get count from bulk result data");
+               return DATA_CONTROL_ERROR_INVALID_PARAMETER;
+       }
+
+       if (count == 0) {
+               _LOGE("Bulk result data is empty");
+               return DATA_CONTROL_ERROR_INVALID_PARAMETER;
+       }
+
        return datacontrol_provider_send_bulk_insert_result(request_id, bulk_results);
 }
 
@@ -650,6 +668,25 @@ EXPORT_API bool data_control_provider_match_data_id(data_control_h provider, con
 
 EXPORT_API int data_control_provider_send_map_bulk_add_result(int request_id, data_control_bulk_result_data_h bulk_results)
 {
+       int count;
+       int ret = DATA_CONTROL_ERROR_NONE;
+
+       if (bulk_results == NULL) {
+               _LOGE("Null bulk result data");
+               return DATA_CONTROL_ERROR_INVALID_PARAMETER;
+       }
+
+       ret = data_control_bulk_result_data_get_count(bulk_results, &count);
+       if (ret != DATA_CONTROL_ERROR_NONE) {
+               _LOGE("Fail to get count from bulk result data");
+               return DATA_CONTROL_ERROR_INVALID_PARAMETER;
+       }
+
+       if (count == 0) {
+               _LOGE("Bulk result data is empty");
+               return DATA_CONTROL_ERROR_INVALID_PARAMETER;
+       }
+
        return datacontrol_provider_send_map_bulk_add_result(request_id, bulk_results);
 }
 
index 8ed50ca9fd3efc482046ac373319f1f35b1edada..33276a3fd2d952eff613136efed60b5c04b5ba37 100644 (file)
@@ -211,7 +211,7 @@ EXPORT_API int data_control_sql_register_insert_bulk_data_response_cb(data_contr
 
 EXPORT_API int data_control_sql_unregister_insert_bulk_data_response_cb(data_control_h provider)
 {
-       if (provider->provider_id && __bulk_response_table) {
+       if (provider != NULL && provider->provider_id && __bulk_response_table) {
                if (g_hash_table_lookup(__bulk_response_table, provider->provider_id) != NULL) {
                        g_hash_table_remove(__bulk_response_table, provider->provider_id);
                } else {