Fix null termination issues 78/146678/1 accepted/tizen/unified/20170904.144438 submit/tizen/20170904.021010
authorWootak Jung <wootak.jung@samsung.com>
Wed, 30 Aug 2017 04:38:01 +0000 (13:38 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Wed, 30 Aug 2017 04:39:12 +0000 (13:39 +0900)
Change-Id: I612763dab3d5a4797c965c8a024132254cdf6d1b

packaging/libtapi.spec
src/tapi_sat.c
src/tapi_sim.c

index af4c1e4c691bb14d65e877021c7a01dc4e77a9ad..27061616df69dc6996ba40d33ea7e8e73d27438b 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 8
-%define patchlevel 24
+%define patchlevel 25
 
 Name:           libtapi
 Version:        %{major}.%{minor}.%{patchlevel}
index 71eed148601adbe904a7e5ff3b6ff78e53abf05f..4832a937fd790bd3ae7d11a74d63b861c819ab0e 100644 (file)
@@ -461,12 +461,7 @@ EXPORT_API int tel_get_sat_main_menu_info(TapiHandle *handle, TelSatSetupMenuInf
 
        pMainMenu->commandId = command_id;
        pMainMenu->bIsMainMenuPresent = (b_present ? 1 : 0);
-
-       if (strlen(title) > TAPI_SAT_DEF_TITLE_LEN_MAX+1)
-               memcpy(pMainMenu->satMainTitle, title, TAPI_SAT_DEF_TITLE_LEN_MAX+1);
-       else
-               memcpy(pMainMenu->satMainTitle, title, strlen(title));
-
+       snprintf(pMainMenu->satMainTitle, TAPI_SAT_DEF_TITLE_LEN_MAX + 1, "%s", title);
        g_free(title);
 
        pMainMenu->satMainMenuNum = item_cnt;
@@ -482,12 +477,7 @@ EXPORT_API int tel_get_sat_main_menu_info(TapiHandle *handle, TelSatSetupMenuInf
                g_variant_get(unbox, "a(si)", &iter);
                while (g_variant_iter_loop(iter, "(si)", &item_str, &item_id)) {
                        pMainMenu->satMainMenuItem[sat_index].itemId = item_id;
-
-                       if (strlen(item_str) > TAPI_SAT_DEF_ITEM_STR_LEN_MAX + 6)
-                               memcpy(pMainMenu->satMainMenuItem[sat_index].itemString, item_str, TAPI_SAT_DEF_ITEM_STR_LEN_MAX + 6);
-                       else
-                               memcpy(pMainMenu->satMainMenuItem[sat_index].itemString, item_str, strlen(item_str));
-
+                       snprintf(pMainMenu->satMainMenuItem[sat_index].itemString, TAPI_SAT_DEF_ITEM_STR_LEN_MAX + 6, "%s", item_str);
                        dbg("item index(%d) id(%d) str(%s)", sat_index, pMainMenu->satMainMenuItem[sat_index].itemId, pMainMenu->satMainMenuItem[sat_index].itemString);
                        sat_index++;
                }
index e17e33b04871aebe9ca55c5dbe0cfe1d6509fcc4..0c9dea518b309ae0d192f8b9ca342c79dcf5a190 100644 (file)
@@ -1650,7 +1650,7 @@ EXPORT_API int tel_set_sim_callforwarding_info(TapiHandle *handle, TelSimCallFor
                return TAPI_API_SYSTEM_OUT_OF_MEM;
        }
 
-       memcpy((void *)g_number, (const void *)&req_cf->cf_data_u.cf.cfu_num, strlen((const char *)&req_cf->cf_data_u.cf.cfu_num));
+       snprintf(g_number, strlen(req_cf->cf_data_u.cf.cfu_num) + 1, "%s", req_cf->cf_data_u.cf.cfu_num);
 
        param = g_variant_new("(biiyiisiibbbb)",
                        req_cf->b_cphs,
@@ -1787,7 +1787,7 @@ EXPORT_API int tel_set_sim_mailbox_info(TapiHandle *handle, TelSimMailBoxNumber_
                return TAPI_API_SYSTEM_OUT_OF_MEM;
        }
 
-       memcpy((void *)g_alpha, (const void *)&req_mb->alpha_id, strlen((const char *)&req_mb->alpha_id));
+       snprintf(g_alpha, strlen(req_mb->alpha_id) + 1, "%s", req_mb->alpha_id);
 
        g_number = calloc(1, strlen((const char *)&req_mb->num)+1);
        if (!g_number) {
@@ -1796,7 +1796,7 @@ EXPORT_API int tel_set_sim_mailbox_info(TapiHandle *handle, TelSimMailBoxNumber_
                return TAPI_API_SYSTEM_OUT_OF_MEM;
        }
 
-       memcpy((void *)g_number, (const void *)&req_mb->num, strlen((const char *)&req_mb->num));
+       snprintf(g_number, strlen(req_mb->num) + 1, "%s", req_mb->num);
 
        dbg("req_mb->b_cphs[%d], req_mb->rec_index[%d], req_mb->profile_num[%d], req_mb->mb_type[%d], req_mb->alpha_id_max_len[%d], req_mb->alpha_id[%s]",
                        req_mb->b_cphs,