From fa1ad60fc754fd970a27dafe7121036de7da74a7 Mon Sep 17 00:00:00 2001 From: Simon Mikuda Date: Tue, 12 Nov 2019 14:56:35 +0100 Subject: [PATCH] core/advertising: Fix crash when client is added after unregistration After "register_advertisement()" callback "client_proxy_added()" was yet called but it was actually called after: "unregister_advertisement()" which caused segmentation fault because client was removed twice. --- src/advertising.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/advertising.c b/src/advertising.c index f53c14cf4..45ff19fa0 100644 --- a/src/advertising.c +++ b/src/advertising.c @@ -190,6 +190,8 @@ static void client_remove(void *data) struct btd_adv_client *client = data; struct mgmt_cp_remove_advertising cp; + g_dbus_client_set_proxy_handlers(client->client, NULL, NULL, NULL, + client); g_dbus_client_set_disconnect_watch(client->client, NULL, NULL); cp.instance = client->instance; -- 2.47.3