Fix static analysis issue 18/251018/2
authorInkyun Kil <inkyun.kil@samsung.com>
Thu, 7 Jan 2021 02:21:41 +0000 (11:21 +0900)
committerInkyun Kil <inkyun.kil@samsung.com>
Thu, 7 Jan 2021 05:03:10 +0000 (14:03 +0900)
Change-Id: I5c2eab1e985341c651c5c0d95b3283bfcb9c50a5
Signed-off-by: Inkyun Kil <inkyun.kil@samsung.com>
src/data_control_provider.c

index 0937ea5..4ccfb14 100644 (file)
@@ -2427,8 +2427,9 @@ EXPORT_API char *data_control_provider_create_insert_statement(
        int sql_len;
        char *sql;
        int row_count = bundle_get_count(insert_map);
+       int ret;
 
-       if (provider == NULL || row_count == 0) {
+       if (provider == NULL || row_count == 0) {
                set_last_result(DATA_CONTROL_ERROR_INVALID_PARAMETER);
                return NULL;
        }
@@ -2459,7 +2460,14 @@ EXPORT_API char *data_control_provider_create_insert_statement(
        index = 0;
        bundle_foreach(insert_map, bundle_foreach_cb, (void *)(cols));
 
-       _get_data_id(provider, &data_id);
+       ret = _get_data_id(provider, &data_id);
+       if (ret != DATA_CONTROL_ERROR_NONE) {
+               free(cols->keys);
+               free(cols->vals);
+               free(cols);
+               set_last_result(ret);
+               return NULL;
+       }
 
        sql_len = INSERT_STMT_CONST_LEN + strlen(data_id) +
                (row_count - 1) * 4 + (cols->length) + 1;
@@ -2515,13 +2523,18 @@ EXPORT_API char *data_control_provider_create_delete_statement(
        int cond_len;
        int sql_len;
        char *sql;
+       int ret;
 
        if (provider == NULL) {
                set_last_result(DATA_CONTROL_ERROR_INVALID_PARAMETER);
                return NULL;
        }
 
-       _get_data_id(provider, &data_id);
+       ret = _get_data_id(provider, &data_id);
+       if (ret != DATA_CONTROL_ERROR_NONE) {
+               set_last_result(ret);
+               return NULL;
+       }
 
        cond_len = (where != NULL) ? (WHERE_COND_CONST_LEN + strlen(where)) : 0;
        sql_len = DELETE_STMT_CONST_LEN + strlen(data_id) + cond_len + 1;
@@ -2556,6 +2569,7 @@ EXPORT_API char *data_control_provider_create_update_statement(
        int sql_len;
        char *sql;
        int row_count = bundle_get_count(update_map);
+       int ret;
 
        if (provider == NULL || row_count == 0) {
                set_last_result(DATA_CONTROL_ERROR_INVALID_PARAMETER);
@@ -2587,7 +2601,14 @@ EXPORT_API char *data_control_provider_create_update_statement(
        index = 0;
        bundle_foreach(update_map, bundle_foreach_cb, (void *)(cols));
 
-       _get_data_id(provider, &data_id);
+       ret = _get_data_id(provider, &data_id);
+       if (ret != DATA_CONTROL_ERROR_NONE) {
+               free(cols->keys);
+               free(cols->vals);
+               free(cols);
+               set_last_result(ret);
+               return NULL;
+       }
 
        cond_len = (where != NULL) ? (WHERE_COND_CONST_LEN + strlen(where)) : 0;
        sql_len = UPDATE_STMT_CONST_LEN + strlen(data_id) + (cols->length) +
@@ -2648,6 +2669,7 @@ EXPORT_API char *data_control_provider_create_select_statement(
        int order_len;
        int sql_len;
        char *sql;
+       int ret;
 
        if (provider == NULL) {
                set_last_result(DATA_CONTROL_ERROR_INVALID_PARAMETER);
@@ -2664,7 +2686,11 @@ EXPORT_API char *data_control_provider_create_select_statement(
                col_name_length = 1;
        }
 
-       _get_data_id(provider, &data_id);
+       ret = _get_data_id(provider, &data_id);
+       if (ret != DATA_CONTROL_ERROR_NONE) {
+               set_last_result(ret);
+               return NULL;
+       }
 
        cond_len = (where != NULL) ? (WHERE_COND_CONST_LEN + strlen(where)) : 0;
        order_len = (order != NULL) ? (ORDER_CLS_CONST_LEN + strlen(order)) : 0;