From: Mikel Astiz <mikel.astiz@xxxxxxxxxxxx> If g_dbus_register_interface() fails, the struct csc_adapter memory will be freed and therefore the csc_adapters list cannot contain such an invalid pointer. --- profiles/cyclingspeed/cyclingspeed.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/profiles/cyclingspeed/cyclingspeed.c b/profiles/cyclingspeed/cyclingspeed.c index 76be234..ea6076c 100644 --- a/profiles/cyclingspeed/cyclingspeed.c +++ b/profiles/cyclingspeed/cyclingspeed.c @@ -964,8 +964,6 @@ static int csc_adapter_probe(struct btd_profile *p, struct btd_adapter *adapter) cadapter = g_new0(struct csc_adapter, 1); cadapter->adapter = adapter; - csc_adapters = g_slist_prepend(csc_adapters, cadapter); - if (!g_dbus_register_interface(btd_get_dbus_connection(), adapter_get_path(adapter), CYCLINGSPEED_MANAGER_INTERFACE, @@ -978,6 +976,8 @@ static int csc_adapter_probe(struct btd_profile *p, struct btd_adapter *adapter) return -EIO; } + csc_adapters = g_slist_prepend(csc_adapters, cadapter); + return 0; } -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html