diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-05-15 11:44:50 +0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2014-05-15 11:46:00 +0300 |
commit | 986c3d2b1ae181f02782d70b2b03da3b1139ce46 (patch) | |
tree | 27a663a4d6d71b324f44bfb0f06e427cc5bab704 /plugins/policy.c | |
parent | de663bfc39d13515eb549e70d59329eb83892aa0 (diff) | |
download | bluez-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.c | 10 |
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); |