From 986c3d2b1ae181f02782d70b2b03da3b1139ce46 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Thu, 15 May 2014 11:44:50 +0300 Subject: [PATCH] plugins/policy: Both !uuids and !uuids[0] mean an empty list --- plugins/policy.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/policy.c b/plugins/policy.c index 9a275daf8..6fb0729ca 100644 --- a/plugins/policy.c +++ b/plugins/policy.c @@ -440,6 +440,9 @@ static bool reconnect_match(const char *uuid) { char **str; + if (!reconnect_uuids) + return false; + for (str = reconnect_uuids; *str; str++) { if (!bt_uuid_strcmp(uuid, *str)) return true; @@ -544,7 +547,7 @@ static void service_cb(struct btd_service *service, * Return if the reconnection feature is not enabled (all * subsequent code in this function is about that). */ - if (!reconnect_uuids) + if (!reconnect_uuids || !reconnect_uuids[0]) return; /* @@ -693,7 +696,7 @@ static int policy_init(void) goto add_cb; } add_cb: - if (reconnect_uuids) { + if (reconnect_uuids && reconnect_uuids[0]) { btd_add_disconnect_cb(disconnect_cb); btd_add_conn_fail_cb(conn_fail_cb); } @@ -706,7 +709,8 @@ static void policy_exit(void) btd_remove_disconnect_cb(disconnect_cb); btd_remove_conn_fail_cb(conn_fail_cb); - g_strfreev(reconnect_uuids); + if (reconnect_uuids) + g_strfreev(reconnect_uuids); g_slist_free_full(reconnects, reconnect_destroy); -- 2.47.3