[PATCH BlueZ 2/3] policy: Avoid using UUID if field is not set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 plugins/policy.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/plugins/policy.c b/plugins/policy.c
index dac1b7a24..e156c0db2 100644
--- a/plugins/policy.c
+++ b/plugins/policy.c
@@ -635,17 +635,19 @@ static void service_cb(struct btd_service *service,
 	struct btd_profile *profile = btd_service_get_profile(service);
 	struct reconnect_data *reconnect;
 -	if (g_str_equal(profile->remote_uuid, A2DP_SINK_UUID))
-		sink_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, A2DP_SOURCE_UUID))
-		source_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, AVRCP_REMOTE_UUID))
-		controller_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, AVRCP_TARGET_UUID))
-		target_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, HFP_HS_UUID) ||
-			g_str_equal(profile->remote_uuid, HSP_HS_UUID))
-		hs_cb(service, old_state, new_state);
+	if (profile->remote_uuid) {
+		if (g_str_equal(profile->remote_uuid, A2DP_SINK_UUID))
+			sink_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, A2DP_SOURCE_UUID))
+			source_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, AVRCP_REMOTE_UUID))
+			controller_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, AVRCP_TARGET_UUID))
+			target_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, HFP_HS_UUID) ||
+				g_str_equal(profile->remote_uuid, HSP_HS_UUID))
+			hs_cb(service, old_state, new_state);
+	}
  	/*
 	 * Return if the reconnection feature is not enabled (all
@@ -687,7 +689,7 @@ static void service_cb(struct btd_service *service,
 	 * be the first profile that's connected so we might have an
 	 * entry but with the reconnect flag set to false.
 	 */
-	if (!reconnect->reconnect)
+	if (!reconnect->reconnect && profile->remote_uuid)
 		reconnect->reconnect = reconnect_match(profile->remote_uuid);
  	DBG("Added %s reconnect %u", profile->name, reconnect->reconnect);
--
2.28.0





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux