From: Wootak Jung Date: Wed, 30 Aug 2017 04:38:01 +0000 (+0900) Subject: Fix null termination issues X-Git-Tag: submit/tizen/20170904.021010^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dfdee7bf569079ef11a8fae80b0374d3bd08ab69;p=platform%2Fcore%2Ftelephony%2Flibtapi.git Fix null termination issues Change-Id: I612763dab3d5a4797c965c8a024132254cdf6d1b --- diff --git a/packaging/libtapi.spec b/packaging/libtapi.spec index af4c1e4..2706161 100644 --- a/packaging/libtapi.spec +++ b/packaging/libtapi.spec @@ -1,6 +1,6 @@ %define major 0 %define minor 8 -%define patchlevel 24 +%define patchlevel 25 Name: libtapi Version: %{major}.%{minor}.%{patchlevel} diff --git a/src/tapi_sat.c b/src/tapi_sat.c index 71eed14..4832a93 100644 --- a/src/tapi_sat.c +++ b/src/tapi_sat.c @@ -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++; } diff --git a/src/tapi_sim.c b/src/tapi_sim.c index e17e33b..0c9dea5 100644 --- a/src/tapi_sim.c +++ b/src/tapi_sim.c @@ -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,