From 2c787fee018ee4f30fcbffbcf7f49c4e89e590e4 Mon Sep 17 00:00:00 2001 From: Corentin Lecouvey Date: Tue, 14 Oct 2014 10:45:18 +0200 Subject: [PATCH] make sure priv->adapter exists before unref it when freeing gap agent It fixes such error : GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed Also it makes no sense to reference priv->adapter pointer before setting it to NULL. So unref priv->adapter it instead. Change-Id: I0b27d0d16192e8e647ffc00fd9704a90700417b2 Signed-off-by: Corentin Lecouvey --- bt-service/bt-service-gap-agent.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bt-service/bt-service-gap-agent.c b/bt-service/bt-service-gap-agent.c index 3a876d1..3dd00e3 100644 --- a/bt-service/bt-service-gap-agent.c +++ b/bt-service/bt-service-gap-agent.c @@ -1031,8 +1031,10 @@ void _gap_agent_reset_dbus(GapAgent *agent) priv->osp_servers = NULL; } - g_object_ref(priv->adapter); - priv->adapter = NULL; + if (priv->adapter) { + g_object_unref(priv->adapter); + priv->adapter = NULL; + } g_free(priv->path); priv->path = NULL; -- 2.7.4