memset(tr->terminal_rsp_data.send_ussd.text.string, 0x00,
sizeof(tr->terminal_rsp_data.send_ussd.text.string));
if (output_data_len > 0) {
- memcpy((void*)tr->terminal_rsp_data.send_ussd.text.string, output_data, output_data_len);
+ snprintf(tr->terminal_rsp_data.send_ussd.text.string, output_data_len + 1, "%s", output_data);
tr->terminal_rsp_data.send_ussd.text.string_length = output_data_len;
}
dbg("final ussd len:%d", tr->terminal_rsp_data.send_ussd.text.string_length);
tr->terminal_rsp_data.send_ussd.text.string_length);
memset(tr->terminal_rsp_data.send_ussd.text.string, 0x00,
sizeof(tr->terminal_rsp_data.send_ussd.text.string));
- memcpy(tr->terminal_rsp_data.send_ussd.text.string, tmp, str_len);
+ snprintf(tr->terminal_rsp_data.send_ussd.text.string, str_len + 1, "%s", tmp);
tr->terminal_rsp_data.send_ussd.text.string_length = str_len;
dbg("final ussd len:%d", tr->terminal_rsp_data.send_ussd.text.string_length);
for (i = 0; i < tr->terminal_rsp_data.send_ussd.text.string_length; i++)