SVACE Network module fix 95/125995/1
authorRadek Kintop <r.kintop@samsung.com>
Wed, 19 Apr 2017 17:13:11 +0000 (19:13 +0200)
committerRadek Kintop <r.kintop@samsung.com>
Wed, 19 Apr 2017 17:13:11 +0000 (19:13 +0200)
Change-Id: Id670afc820467d7521b65b4ea517be3321bb2a71
Signed-off-by: Radek Kintop <r.kintop@samsung.com>
setting-network/src/setting-network-select-network.c

index ab470a9eeea415606e652b2fdddba1b14eb945d7..7fb332e0c18157fd57fed4f896d8bac0870fbc77 100644 (file)
@@ -321,7 +321,8 @@ static int _process_special_char_in_network_names(Setting_GenGroupItem_Data *lis
        int cnt = 0;
        SETTING_TRACE("s_info.plmn_info[s_info.sim_selected].networks_count:%d", s_info.plmn_info[s_info.sim_selected].networks_count);
        char name[MAX_COMMON_BUFFER_LEN] = { 0, };
-       for (; cnt < s_info.plmn_info[s_info.sim_selected].networks_count; cnt++) {
+       int net_count = (int)s_info.plmn_info[s_info.sim_selected].networks_count;
+       for (; cnt < net_count; cnt++) {
 
                SETTING_TRACE("s_info.plmn_info[s_info.sim_selected].network_list[cnt].network_name:%s", s_info.plmn_info[s_info.sim_selected].network_list[cnt].network_name);
                memset(name, 0, MAX_COMMON_BUFFER_LEN);
@@ -681,6 +682,7 @@ static bool _fill_network_list(void)
        char name[MAX_COMMON_BUFFER_LEN] = { 0, };
        Setting_GenGroupItem_Data *item_data;
        int valid_cnt = 0;
+       int net_count = (int)s_info.plmn_info[s_info.sim_selected].networks_count;
 
        if (s_info.plmn_info[s_info.sim_selected].networks_count == 0) {
                SETTING_TRACE_DEBUG("Networks list is empty");
@@ -688,7 +690,9 @@ static bool _fill_network_list(void)
        }
 
        pa_net_name = get_pa_select_network();
-       dlog_print(DLOG_INFO, LOG_TAG, "[%s:%d] sim: %d; Networks_Count: %d selected: %s", __FILE__, __LINE__, s_info.sim_selected, s_info.plmn_info[s_info.sim_selected].networks_count, pa_net_name);
+       dlog_print(DLOG_INFO, LOG_TAG,
+                       "[%s:%d] sim: %d; Networks_Count: %d selected: %s",
+                       __FILE__, __LINE__, s_info.sim_selected, net_count, pa_net_name);
 
        while (cnt < s_info.plmn_info[s_info.sim_selected].networks_count) {
                SETTING_TRACE("network name from TAPI[%d]:%s --%s --(plmn=%s,plmn_id=%d,at=%s)",
@@ -794,16 +798,21 @@ static void _copy_network_data(TelNetworkPlmnList_t *network_list)
        int i;
        TelNetworkIdentity_t *network_target;
        TelNetworkIdentity_t *network_source;
+       int net_count = (int)network_list->networks_count;
+       s_info.plmn_info[s_info.sim_selected].networks_count =
+                                                                                               network_list->networks_count;
 
-       s_info.plmn_info[s_info.sim_selected].networks_count = network_list->networks_count;
-
-       for (i = 0; i < network_list->networks_count; ++i) {
+       for (i = 0; i < net_count; ++i) {
                network_target = &s_info.plmn_info[s_info.sim_selected].network_list[i];
                network_source = &network_list->network_list[i];
 
-               strcpy(network_target->network_name,          network_source->network_name);
-               strcpy(network_target->service_provider_name, network_source->service_provider_name);
-               strcpy(network_target->plmn,                  network_source->plmn);
+               strncpy(network_target->network_name, network_source->network_name,
+                               TAPI_NETWORK_NAME_LEN_MAX);
+               strncpy(network_target->service_provider_name,
+                               network_source->service_provider_name,
+                               TAPI_NETWORK_NAME_LEN_MAX);
+               strncpy(network_target->plmn, network_source->plmn,
+                               TAPI_NETWORK_PLMN_LEN_MAX);
 
                network_target->plmn_id =              network_source->plmn_id;
                network_target->type_of_plmn =      network_source->type_of_plmn;