diff options
Diffstat (limited to 'hcid')
-rw-r--r-- | hcid/dbus-adapter.c | 8 | ||||
-rw-r--r-- | hcid/dbus.c | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/hcid/dbus-adapter.c b/hcid/dbus-adapter.c index d3a6e613..50a9bb7a 100644 --- a/hcid/dbus-adapter.c +++ b/hcid/dbus-adapter.c @@ -41,6 +41,7 @@ #include "textfile.h" #include "oui.h" +#include "list.h" static const char *service_cls[] = { "positioning", @@ -72,6 +73,12 @@ static const char *phone_minor_cls[] = { "isdn" }; +static void remote_name_data_free(void *data, void *user_data) +{ + bdaddr_t *addr = data; + bt_free(addr); +} + static DBusHandlerResult handle_dev_get_address_req(DBusConnection *conn, DBusMessage *msg, void *data) { struct hci_dbus_data *dbus_data = data; @@ -1273,6 +1280,7 @@ static DBusHandlerResult handle_dev_cancel_discovery_req(DBusConnection *conn, D break; } + slist_foreach(dbus_data->discovered_devices, remote_name_data_free, NULL); slist_free(dbus_data->discovered_devices); dbus_data->discovered_devices = NULL; diff --git a/hcid/dbus.c b/hcid/dbus.c index 2b7ba72b..30c01b01 100644 --- a/hcid/dbus.c +++ b/hcid/dbus.c @@ -148,7 +148,7 @@ static int remote_name_remove(struct slist **list, bdaddr_t *addr) free(data); ret_val = 0; } - + return ret_val; } |