GVariant *dbus_result;
TelOemData_t oem_data = {0};
gchar *data = NULL;
- gsize decoded_data_len = 0;
dbus_result = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source_object), res, &error);
TAPI_RESP_CHECK_ERROR(error, evt_cb_data);
g_variant_get(dbus_result, "(is)", &oem_data.oem_id, &data);
- oem_data.data = g_base64_decode((const gchar *)data, &decoded_data_len);
+ oem_data.data = g_base64_decode((const gchar *)data, &oem_data.data_len);
if (oem_data.data) {
result = TAPI_API_SUCCESS;
- oem_data.data_len = (unsigned int)decoded_data_len;
dbg("id:[0x%d] len:[%d]", oem_data.oem_id, oem_data.data_len);
gchar *encoded_data = NULL;
GVariant *rst = NULL;
gchar *pdata = NULL;
- gsize decoded_data_len = 0;
dbg("oem_id(0x%x) data(%p) data len(%d)", oem_id, data, data_len);
g_variant_get(rst, "(is)", &outparam->oem_id, &pdata);
- outparam->data = g_base64_decode((const gchar *)pdata, &decoded_data_len);
- if (decoded_data_len) {
- outparam->data_len = (unsigned int)decoded_data_len;
+ outparam->data = g_base64_decode((const gchar *)pdata, &outparam->data_len);
+ if (outparam->data_len)
dbg("id:[0x%x] len:[%d]", outparam->oem_id, outparam->data_len);
- }
g_free(pdata);
g_variant_unref(rst);
g_variant_get(dbus_result, "(is)", &result, &iccid);
iccid_info.icc_length = strlen((const char *)iccid);
if (iccid_info.icc_length > TAPI_SIM_ICCID_LEN_MAX) {
- dbg("current tapi support 20 byte but received length[%d] so changed");
+ dbg("current tapi support 20 byte but received length[%d] so changed", iccid_info.icc_length);
iccid_info.icc_length = TAPI_SIM_ICCID_LEN_MAX;
}
memcpy(iccid_info.icc_num, iccid, iccid_info.icc_length);
}
length = strlen(SendTxt);
+ if (length > MAXLENGTH_SMS_USER_DATA) {
+ printf("[EncodeCdmaSmsParamUserData] Text is too long \n");
+ return ret;
+ }
ParamUser->param_id = SMS_3GPP2_BSUB_ID_USER_DATA;
ParamUser->encoding = SMS_3GPP2_BSUB_UD_ASCII7BIT_ENCODING;
/* Converting Destination number from ASCII to hex*/
if (__sms_asciistring_to_hex(diallingNum, hex_string, dialNumLen) == FALSE) {
msg("__sms_asciistring_to_hex() failed.");
+ g_free(encoded_msg);
return FALSE;
}
ret = tel_send_sms(handle, &data_package, 0x0, on_resp_send_cdma_msg, NULL);
msg("Return Status of CDMA tel_send_sms[%d]", ret);
- free(encoded_msg);
+ g_free(encoded_msg);
return TRUE;
}