aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-01-28 10:32:11 +0100
committerAleksander Morgado <aleksander@aleksander.es>2020-01-28 10:33:50 +0100
commit4bfd955e64af56b47d398a857be4e8e1b16ce260 (patch)
treee6bac8985401c075f1d6fd4840a4e0b147706c93
parent2406a5519fb3004f424a880d534121aa6469ad76 (diff)
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
-rw-r--r--src/mm-base-manager.c3
-rw-r--r--src/mm-base-modem.c3
2 files changed, 3 insertions, 3 deletions
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