From 4bfd955e64af56b47d398a857be4e8e1b16ce260 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Tue, 28 Jan 2020 10:32:11 +0100 Subject: auth-provider: fix reference count in manager and modem objects The auth provider is now a singleton (since 20ab6550), one single object that lives throughout the whole program execution, and so we don't need to keep our own full references around. This fix makes sure we don't attempt to unref a full auth provider reference we don't own. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/179 --- src/mm-base-manager.c | 3 +-- src/mm-base-modem.c | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mm-base-manager.c b/src/mm-base-manager.c index 042f2143..5ff0c059 100644 --- a/src/mm-base-manager.c +++ b/src/mm-base-manager.c @@ -1558,8 +1558,7 @@ finalize (GObject *object) if (priv->connection) g_object_unref (priv->connection); - if (priv->authp) - g_object_unref (priv->authp); + /* note: authp is a singleton, we don't keep a full reference */ if (priv->authp_cancellable) g_object_unref (priv->authp_cancellable); diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index 9f034bac..bd5dc39f 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -1651,7 +1651,8 @@ dispose (GObject *object) /* Cancel all ongoing auth requests */ g_cancellable_cancel (self->priv->authp_cancellable); g_clear_object (&self->priv->authp_cancellable); - g_clear_object (&self->priv->authp); + + /* note: authp is a singleton, we don't keep a full reference */ /* Ensure we cancel any ongoing operation, but before * disconnect our own signal handler, or we'll end up with -- cgit v1.2.3-70-g09d2