diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2021-03-11 11:20:48 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-03-11 11:38:29 +0100 |
commit | fdfcd30308faf9d008ab68da29d7b35bbecf01a3 (patch) | |
tree | 5b39d13a35693015bebc7ea3821efbd20afa5ad9 | |
parent | a772b70632008d6c375487a8e711b80bb343a931 (diff) |
bearer-qmi: avoid increasing self reference during dispose()
The reset_bearer_connection() method is called during dispose, and if
a link had been created during the connection attempt, we would be
increasing the reference to the bearer object during dispose(), which
should never happen.
Just avoid passing any callback to the cleanup_link() method, as we
really were using that only for logging purposes.
-rw-r--r-- | src/mm-bearer-qmi.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/src/mm-bearer-qmi.c b/src/mm-bearer-qmi.c index 39f0e48a..5a348b26 100644 --- a/src/mm-bearer-qmi.c +++ b/src/mm-bearer-qmi.c @@ -2217,18 +2217,6 @@ disconnect_finish (MMBaseBearer *self, } static void -cleanup_link_ready (MMPortQmi *qmi, - GAsyncResult *res, - MMBearerQmi *self) /* full reference */ -{ - g_autoptr(GError) error = NULL; - - if (!mm_port_qmi_cleanup_link_finish (qmi, res, &error)) - mm_obj_warn (self, "couldn't cleanup link: %s", error->message); - g_object_unref (self); -} - -static void reset_bearer_connection (MMBearerQmi *self, gboolean reset_ipv4, gboolean reset_ipv6) @@ -2278,8 +2266,8 @@ reset_bearer_connection (MMBearerQmi *self, mm_port_qmi_cleanup_link (self->priv->qmi, mm_port_get_device (self->priv->link), self->priv->mux_id, - (GAsyncReadyCallback) cleanup_link_ready, - g_object_ref (self)); + NULL, + NULL); g_clear_object (&self->priv->link); } self->priv->mux_id = QMI_DEVICE_MUX_ID_UNBOUND; |