glib2/backport-Make-sure-the-GTask-is-freed-on-a-graceful-disconnect.patch

39 lines
1.0 KiB
Diff

From cabc49407371800733ada202fab721c9091b6fe6 Mon Sep 17 00:00:00 2001
From: Pavel Sobolev <paveloom@riseup.net>
Date: Thu, 14 Sep 2023 15:42:24 +0300
Subject: [PATCH] Make sure the `GTask` is freed on a graceful disconnect
This fixes the memory leak in the case the connection has been
successfully closed by the peer.
Conflict:NA
Reference:https://gitlab.gnome.org/GNOME/glib/-/commit/cabc49407371800733ada202fab721c9091b6fe6
---
gio/gtcpconnection.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gio/gtcpconnection.c b/gio/gtcpconnection.c
index 422b3dea52..e0865d859b 100644
--- a/gio/gtcpconnection.c
+++ b/gio/gtcpconnection.c
@@ -206,6 +206,8 @@ async_close_finish (GTask *task,
g_task_return_error (task, error);
else
g_task_return_boolean (task, TRUE);
+
+ g_object_unref (task);
}
@@ -231,7 +233,6 @@ close_read_ready (GSocket *socket,
else
{
async_close_finish (task, error);
- g_object_unref (task);
return FALSE;
}
}
--
GitLab