summaryrefslogtreecommitdiff
path: root/plugins/policy.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2014-05-15 11:44:50 +0300
committerJohan Hedberg <johan.hedberg@intel.com>2014-05-15 11:46:00 +0300
commit986c3d2b1ae181f02782d70b2b03da3b1139ce46 (patch)
tree27a663a4d6d71b324f44bfb0f06e427cc5bab704 /plugins/policy.c
parentde663bfc39d13515eb549e70d59329eb83892aa0 (diff)
downloadbluez-986c3d2b1ae181f02782d70b2b03da3b1139ce46.tar.gz
plugins/policy: Both !uuids and !uuids[0] mean an empty list
Diffstat (limited to 'plugins/policy.c')
-rw-r--r--plugins/policy.c10
1 files 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);