Fix the crash issue when name changed 30/278930/1
authorWootak Jung <wootak.jung@samsung.com>
Thu, 28 Jul 2022 01:48:19 +0000 (10:48 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Thu, 28 Jul 2022 07:19:08 +0000 (16:19 +0900)
Change-Id: Ie2f9290f250d1def551c6c31272970c832ce36ed

bt-service/services/adapter/bt-service-core-adapter-le.c
bt-service/services/bt-request-handler.c
bt-service/services/mesh/bt-service-mesh-network.c
bt-service/services/tds/bt-service-tds.c

index f2e38a00b347a9584cf0cafba178e6279476392b..b98492d8b8eb1ad9f44753072584e8ee2360ebd3 100644 (file)
@@ -2363,6 +2363,8 @@ void _bt_check_le_scanner_app_termination(const char *sender)
 {
        bt_adapter_le_scanner_t *scanner;
 
+       ret_if(NULL == sender);
+
        scanner = __bt_find_scanner_from_list(sender);
        if (!scanner)
                return;
index ef37f729d38950e1faf02738fa5f1c2827b81023..170831848a18cfcc0a0a3126e98aac8e6f07c60a 100644 (file)
@@ -5157,6 +5157,8 @@ static void __bt_service_cleanup_nspid_list(const char *unique_name)
        GSList *l;
        struct nspid_t *nspid;
 
+       ret_if(unique_name == NULL);
+
        for (l = nspid_list; l; l = g_slist_next(l)) {
                nspid = l->data;
                if (!nspid)
@@ -5847,7 +5849,7 @@ static void __name_owner_changed(GDBusConnection *connection,
        const char *new_owner = NULL;
 
        g_variant_get(parameters, "(&s&s&s)", &name, &old_owner, &new_owner);
-       if (*new_owner != '\0')
+       if (new_owner && *new_owner != '\0')
                return;
 
        _bt_check_hdp_app_termination(name);
index d6097ac89c3a556066af0d31011cedf1e958511a..629ac7851717ea448c676d299ab8280da184c13b 100644 (file)
@@ -231,6 +231,8 @@ void _bt_check_mesh_app_termination(const char *name)
        const char *app_cred = NULL;
        BT_INFO("Mesh: App terminated [%s]", name);
 
+       ret_if(NULL == name);
+
        /* TODO: Fetch app cred, when support is added */
 
        for (l = cdb_list; l != NULL;) {
index f4b7b408ac8d23b61421fab3cff7ee75bcb170ca..219c31a8c179db2af799f3d69a5d4a07f6599b83 100644 (file)
@@ -924,6 +924,8 @@ void _bt_tds_stop_by_terminated_process(const char *name)
 {
        bt_tds_provider_t *provider = NULL;
 
+       ret_if(name == NULL);
+
        provider = __bt_tds_provider_find_from_list(name);
        if (!provider)
                return;