[Bugfix][T600][Bug-view-856] if set apn name twice, there is error
Only Configure: No
Affected branch: unknown
Affected module: data
Is it affected on both ZXIC and ASR: only ASR
Self-test: yes
Doc Update: no
Change-Id: I3190c1d561201990b67636c1eddc5ebb63380ff2
diff --git a/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp b/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp
index 3f76e0a..0676031 100644
--- a/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp
+++ b/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp
@@ -394,7 +394,7 @@
QL_NET_DATA_CALL_STATUS_E cur_status=data_call_info[i].call_state.call_status;
int apn_id=data_call_info[i].call_param_info.apn_param->apn_id;
const char* dev=data_call_info[i].call_state.device;
- if(pre_call_status!=cur_status && dev!=NULL)
+ if(pre_call_status!=cur_status && dev[0]!=0)
{
if(cur_status==QL_NET_DATA_CALL_STATUS_CONNECTED ||
cur_status==QL_NET_DATA_CALL_STATUS_PARTIAL_V4_CONNECTED ||
@@ -463,8 +463,8 @@
ql_info_handle = mbtk_info_handle_get();
if(ql_info_handle)
{
- memset(&data_call_info, 0, sizeof(data_call_info));
- memset(&data_call_apn_param_list, 0, sizeof(data_call_apn_param_list));
+ memset(data_call_info, 0, sizeof(data_call_info));
+ memset(data_call_apn_param_list, 0, sizeof(data_call_apn_param_list));
return QL_ERR_OK;
} else {
LOGE("mbtk_info_handle_get() fail.");
@@ -516,9 +516,9 @@
}
data_call_info[i].call_info.call_id = call_id;
- memcpy(data_call_info[i].call_info.call_name, call_name, strlen(call_name));
+ strcpy(data_call_info[i].call_info.call_name, call_name);
data_call_info[i].call_state.call_id = call_id;
- memcpy(data_call_info[i].call_state.call_name, call_name, strlen(call_name));
+ strcpy(data_call_info[i].call_state.call_name, call_name);
data_call_info[i].is_background = is_background;
@@ -711,7 +711,7 @@
if(info->apn_param == NULL) {
return QL_ERR_INVALID_ARG;
}
- memcpy(info->apn_param->apn_info.apn_name, apn_name, strlen(apn_name));
+ strcpy(info->apn_param->apn_info.apn_name, apn_name);
return QL_ERR_OK;
}
@@ -745,7 +745,7 @@
if(strlen(info->apn_param->apn_info.apn_name) + 1 > buf_len) {
return QL_ERR_INVALID_ARG;
}
- memcpy(buf, info->apn_param->apn_info.apn_name, strlen(info->apn_param->apn_info.apn_name));
+ strcpy(buf, info->apn_param->apn_info.apn_name);
return QL_ERR_OK;
}
@@ -776,7 +776,7 @@
if(info->apn_param == NULL) {
return QL_ERR_INVALID_ARG;
}
- memcpy(info->apn_param->apn_info.username, user_name, strlen(user_name));
+ strcpy(info->apn_param->apn_info.username, user_name);
return QL_ERR_OK;
}
@@ -810,7 +810,7 @@
if(strlen(info->apn_param->apn_info.username) + 1 > buf_len) {
return QL_ERR_INVALID_ARG;
}
- memcpy(buf, info->apn_param->apn_info.username, strlen(info->apn_param->apn_info.username));
+ strcpy(buf, info->apn_param->apn_info.username);
return QL_ERR_OK;
}
@@ -841,7 +841,7 @@
if(info->apn_param == NULL) {
return QL_ERR_INVALID_ARG;
}
- memcpy(info->apn_param->apn_info.password, user_password, strlen(user_password));
+ strcpy(info->apn_param->apn_info.password, user_password);
return QL_ERR_OK;
}
@@ -875,7 +875,7 @@
if(strlen(info->apn_param->apn_info.password) + 1 > buf_len) {
return QL_ERR_INVALID_ARG;
}
- memcpy(buf, info->apn_param->apn_info.password, strlen(info->apn_param->apn_info.password));
+ strcpy(buf, info->apn_param->apn_info.password);
return QL_ERR_OK;
}
@@ -1274,16 +1274,16 @@
return QL_ERR_UNKNOWN;
}
- char auth_type[64]={0};
+ char auth_type[16];
switch(data_call_info[i].call_param_info.apn_param->apn_info.auth_pref) {
case QL_NET_AUTH_PREF_PAP_CHAP_NOT_ALLOWED:
- memcpy(auth_type,"NONE",strlen("NONE"));
+ strcpy(auth_type,"NONE");
break;
case QL_NET_AUTH_PREF_PAP_ONLY_ALLOWED:
- memcpy(auth_type,"PAP",strlen("PAP"));
+ strcpy(auth_type,"PAP");
break;
case QL_NET_AUTH_PREF_CHAP_ONLY_ALLOWED:
- memcpy(auth_type,"CHAP",strlen("CHAP"));
+ strcpy(auth_type,"CHAP");
break;
#if 0
case QL_NET_AUTH_PREF_PAP_CHAP_BOTH_ALLOWED:
@@ -1449,11 +1449,8 @@
*list_len = 0;
while(i < QL_NET_MAX_DATA_CALL_NUM) {
if(data_call_info[i].call_info.call_id > 0) {
- memset(&(list[*list_len]), 0, sizeof(ql_data_call_item_t));
list[*list_len].call_id = data_call_info[i].call_info.call_id;
- memcpy(list[*list_len].call_name, data_call_info[i].call_info.call_name,
- strlen(data_call_info[i].call_info.call_name));
-
+ strcpy(list[*list_len].call_name, data_call_info[i].call_info.call_name);
(*list_len)++;
}
i++;