mot-agent: add null check
authorsaerome.kim <saerome.kim@samsung.com>
Mon, 22 Jan 2018 05:25:05 +0000 (14:25 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 2 Jul 2018 10:38:46 +0000 (19:38 +0900)
comp-mananger: add null check when pairwise called

Signed-off-by: saerome.kim <saerome.kim@samsung.com>
src/companion-manager/src/comp_mot_agent.c
src/mot-agent/ma-subowner.c

index 172914dc630f27f62d742eb81548860d4ce45f34..c01ad9bbf7b7f5e91225ea0cb86f1c917d3983ae 100644 (file)
@@ -409,6 +409,11 @@ static gboolean __perform_agent_pairwise(gpointer data)
 
        group_invite_info = comp_group_get_invite_info();
 
+       if (!group_invite_info) {
+               LOG_ERR("group_invite_info is null");
+               return FALSE;
+       }
+
        ret = agent_pairwise(group_invite_info->uuid_dev1, group_invite_info->uuid_dev2,
                                                 group_invite_info->uri_1, group_invite_info->rt_1,
                                                 group_invite_info->interface_1,
index b8a3f5eaa23da6306078891ae4e219144a27ec3b..6bebf05a23da63d6a16a674d6f2823ad9734372d 100644 (file)
@@ -900,7 +900,15 @@ static gpointer _mot_func(gpointer data)
        OCProvisionDev_t *src_dev = NULL;
        OicUuid_t *uuid_target = NULL;
 
+       if (!g_client) {
+               ret = OC_STACK_INVALID_PARAM;
+               MA_LOGE("mot agent is not initialized");
+               goto MOT_ENDED;
+       }
+
+
        if (!con->uuid_target_str) {
+               ret = OC_STACK_INVALID_PARAM;
                MA_LOGE("Target device UUID is NULL");
                goto MOT_ENDED;
        }
@@ -1036,16 +1044,22 @@ static gpointer _remove_mo_func(gpointer data)
        OicUuid_t uuid_mowner;
        OicUuid_t *uuid_target = NULL;
 
+       if (!g_client) {
+               ret = OC_STACK_INVALID_PARAM;
+               MA_LOGE("mot agent is not initialized");
+               goto REMOVE_MO_ENDED;
+       }
+
        if (!con->uuid_target_str) {
                MA_LOGE("Target device UUID is NULL");
-               goto MOT_ENDED;
+               goto REMOVE_MO_ENDED;
        }
 
        uuid_target = _convert_uuid(con->uuid_target_str);
        src_dev = _get_dev_by_uuid(g_client->g_motdev_list, uuid_target);
        if (!src_dev) {
                MA_LOGE("We can't find in MOT dev list");
-               goto MOT_ENDED;
+               goto REMOVE_MO_ENDED;
        }
 
        g_client->g_doneCB = false;
@@ -1053,7 +1067,7 @@ static gpointer _remove_mo_func(gpointer data)
        ret = GetDoxmDevOwnerId(&uuid_mowner);
        if (OC_STACK_OK  != ret) {
                MA_LOGE("GetDoxmDevOwnerId faild = [%d][%s]", ret, _error_to_string(ret));
-               goto MOT_ENDED;
+               goto REMOVE_MO_ENDED;
        }
 #ifdef MANIPULATE_LOCAL_PDM
        ret = ma_open_db();
@@ -1069,18 +1083,18 @@ static gpointer _remove_mo_func(gpointer data)
        ret = OCRemoveSubOwner(g_client, src_dev, &uuid_mowner, _remove_mo_cb);
        if (OC_STACK_OK != ret )  {
                MA_LOGE( "OCRemoveSubOwner: ret = %d (%s)", ret, _error_to_string(ret));
-               goto MOT_ENDED;
+               goto REMOVE_MO_ENDED;
        }
 
        ret = _wait_cb_ret(CALLBACK_TIMEOUT_5S);
        if(ret)  {
                MA_LOGE( "OCRemoveSubOwner callback error = %d (%s)", ret, _error_to_string(ret));
-               goto MOT_ENDED;
+               goto REMOVE_MO_ENDED;
        }
 
        MA_LOGE("Remove Multiple Ownership Done");
 
-MOT_ENDED:
+REMOVE_MO_ENDED:
 
        net_ma_emit_remove_mo_done(ma_dbus_get_object(), (int)ret);
 
@@ -1142,10 +1156,16 @@ static gpointer _remove_cred_local_func(gpointer data)
 
        OicUuid_t *uuid = NULL;
 
+       if (!g_client) {
+               ret = OC_STACK_INVALID_PARAM;
+               MA_LOGE("mot agent is not initialized");
+               goto REMOVE_LOCAL_CRED_ERROR;
+       }
+
        if (!con->target_to_revoke) {
                MA_LOGE("Some parameters are wrong");
                MA_LOGE("%s", con->target_to_revoke );
-               goto PVACL_ERROR;
+               goto REMOVE_LOCAL_CRED_ERROR;
        }
 
        uuid = _convert_uuid(con->target_to_revoke);
@@ -1157,18 +1177,18 @@ static gpointer _remove_cred_local_func(gpointer data)
                _remove_remove_cred_local_cb );
        if (OC_STACK_OK != ret) {
                MA_LOGD( "OCRemoveDeviceWithUuid API error: %d (%s)", ret, _error_to_string(ret));
-               goto PVACL_ERROR;
+               goto REMOVE_LOCAL_CRED_ERROR;
        }
 
        ret = _wait_cb_ret(CALLBACK_TIMEOUT_5S);
        if (ret) {
                MA_LOGE( "OCRemoveDeviceWithUuid Faild = %d", errno);
-               goto PVACL_ERROR;
+               goto REMOVE_LOCAL_CRED_ERROR;
        }
        /* Disaply result result */
        MA_LOGI(" Removing CRED info. at local SVR DB - Done");
 
-PVACL_ERROR:
+REMOVE_LOCAL_CRED_ERROR:
        /* Notify ACL result  */
        net_ma_emit_remove_cred_local_done(ma_dbus_get_object(), (int)ret);
        if (uuid)
@@ -1440,6 +1460,12 @@ static gpointer _provisioning_acl_func(gpointer data)
        OCProvisionDev_t *target_dev = NULL;
        OCProvisionDev_t *subject_dev = NULL;
 
+       if (!g_client) {
+               ret = OC_STACK_INVALID_PARAM;
+               MA_LOGE("mot agent is not initialized");
+               goto PVACL_ERROR;
+       }
+
        if (!con->uuid_subject_str ||!con->uuid_target_str || !con->rsrc_uri || !con->rsrc_type  || !con->rsrc_interface) {
                MA_LOGE("Some parameters are wrong");
                MA_LOGE("%s", con->uuid_target_str );
@@ -1559,6 +1585,12 @@ static gpointer _cred_provisioning_func(gpointer data)
        OCProvisionDev_t *dev1 = NULL;
        OCProvisionDev_t *dev2 = NULL;
 
+       if (!g_client) {
+               ret = OC_STACK_INVALID_PARAM;
+               MA_LOGE("mot agent is not initialized");
+               goto PVCRED_ERROR;
+       }
+
        if (!con->uuid_dev1 ) {
                MA_LOGE("dev1 is NULL");
                goto PVCRED_ERROR;
@@ -1691,6 +1723,12 @@ static gpointer _provisioning_pairwise_func(gpointer data)
        OCProvisionDev_t *subject_dev_1 = NULL;
        OCProvisionDev_t *subject_dev_2 = NULL;
 
+       if (!g_client) {
+               ret = OC_STACK_INVALID_PARAM;
+               MA_LOGE("mot agent is not initialized");
+               goto PVPAIRWIE_ERROR;
+       }
+
        if (!con->subject_1 || !con->rsrc_uri_1 || !con->rsrc_type_1  || !con->rsrc_interface_1 ||
         !con->subject_2 || !con->rsrc_uri_2 || !con->rsrc_type_2  || !con->rsrc_interface_2) {
                MA_LOGE("Some parameters are wrong");
@@ -1864,6 +1902,12 @@ static gpointer _unlink_provisioning_func(gpointer data)
        OCProvisionDev_t *dev1 = NULL;
        OCProvisionDev_t *dev2 = NULL;
 
+       if (!g_client) {
+               ret = OC_STACK_INVALID_PARAM;
+               MA_LOGE("mot agent is not initialized");
+               goto PVUNLINKPAIRWISE_ERROR;
+       }
+
        if (!con->uuid_dev1 ) {
                MA_LOGE("dev1 is NULL");
                goto PVUNLINKPAIRWISE_ERROR;