From 973dc459cdab9fbc54eec0c092754cf364113bee Mon Sep 17 00:00:00 2001 From: Mikel Astiz Date: Wed, 29 May 2013 14:38:24 +0200 Subject: [PATCH] heartrate: Fix D-Bus registration error case If g_dbus_register_interface() fails, the struct heartrate_adapter memory will be freed and therefore the heartrate_adapters list cannot contain such an invalid pointer. --- profiles/heartrate/heartrate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/profiles/heartrate/heartrate.c b/profiles/heartrate/heartrate.c index 8de81bb7a..34ec9bc42 100644 --- a/profiles/heartrate/heartrate.c +++ b/profiles/heartrate/heartrate.c @@ -730,8 +730,6 @@ static int heartrate_adapter_register(struct btd_adapter *adapter) hradapter = g_new0(struct heartrate_adapter, 1); hradapter->adapter = adapter; - heartrate_adapters = g_slist_prepend(heartrate_adapters, hradapter); - if (!g_dbus_register_interface(btd_get_dbus_connection(), adapter_get_path(adapter), HEART_RATE_MANAGER_INTERFACE, @@ -744,6 +742,8 @@ static int heartrate_adapter_register(struct btd_adapter *adapter) return -EIO; } + heartrate_adapters = g_slist_prepend(heartrate_adapters, hradapter); + return 0; } -- 2.11.0