diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-01-28 10:32:11 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-01-28 10:33:50 +0100 |
commit | 4bfd955e64af56b47d398a857be4e8e1b16ce260 (patch) | |
tree | e6bac8985401c075f1d6fd4840a4e0b147706c93 | |
parent | 2406a5519fb3004f424a880d534121aa6469ad76 (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.c | 3 | ||||
-rw-r--r-- | src/mm-base-modem.c | 3 |
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 |