Check input parameter before sending DBus request 55/8455/1
authorGuillaume Zajac <guillaume.zajac@linux.intel.com>
Tue, 11 Jun 2013 12:54:17 +0000 (14:54 +0200)
committerwootak.jung <wootak.jung@samsung.com>
Tue, 20 Aug 2013 00:42:18 +0000 (09:42 +0900)
There is no need to do g_base_encode64() on MAX TPDU length.
TPDU length transmitted by msg-server should be enough

src/tapi_sms.c

index e5347af87d539fd2746bc7e6a9c42368a84b78dd..e4f6bfa37a8e8cde71b507ad78f780b68397fbec 100644 (file)
@@ -574,22 +574,13 @@ EXPORT_API int tel_send_sms(struct tapi_handle *handle,
        gchar *encoded_sca = NULL;
        gchar *encoded_tpdu = NULL;
 
-       int emergency_mode = 0;
-
        dbg("Func Entrance ");
 
        TAPI_RET_ERR_NUM_IF_FAIL(pDataPackage ,TAPI_API_INVALID_PTR);
-#if 0
-       if (vconf_get_int("db/telephony/emergency", &emergency_mode) != 0) {
-               err("[FAIL]GET db/telephony/emergency");
-               return TAPI_API_OPERATION_FAILED;
-       }
-#endif
 
-       if (emergency_mode) {
-               dbg("emergency mode on");
-               return TAPI_API_OPERATION_FAILED;
-       }
+       if ((pDataPackage->Sca[0] > TAPI_SIM_SMSP_ADDRESS_LEN)
+                       || (pDataPackage->MsgLength > TAPI_NETTEXT_SMDATA_SIZE_MAX))
+               return TAPI_API_INVALID_INPUT;
 
        MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
 
@@ -599,7 +590,7 @@ EXPORT_API int tel_send_sms(struct tapi_handle *handle,
                return TAPI_API_OPERATION_FAILED;
        }
 
-       encoded_tpdu = g_base64_encode(&(pDataPackage->szData[0]), TAPI_NETTEXT_SMDATA_SIZE_MAX + 1);
+       encoded_tpdu = g_base64_encode(&(pDataPackage->szData[0]), pDataPackage->MsgLength);
        if (encoded_tpdu == NULL) {
                dbg("g_base64_encode: Failed to Enocde the TPDU");
                return TAPI_API_OPERATION_FAILED;