[gnome-terminal] server: Fix refcount leak
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-terminal] server: Fix refcount leak
- Date: Sat, 25 Apr 2020 20:00:09 +0000 (UTC)
commit 1554c74da520db6dff65b9dbf4eb2de82b14e76f
Author: Christian Persch <chpe src gnome org>
Date: Sat Apr 25 21:59:50 2020 +0200
server: Fix refcount leak
Ownership of the GDBusMethodInvocation is passed to terminal_receiver_impl_exec,
and will be released by terminal_receiver_complete_exec. The extra reference
added to ExecData was leaked, causing the GUnixFDList passed from the client
(if any) also to be leaked, which meant that its file descriptors were never
closed, leading to FD exhaustion.
src/terminal-gdbus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/src/terminal-gdbus.c b/src/terminal-gdbus.c
index b9bfcf5b..9a58a9a2 100644
--- a/src/terminal-gdbus.c
+++ b/src/terminal-gdbus.c
@@ -192,7 +192,7 @@ terminal_receiver_impl_exec (TerminalReceiver *receiver,
ExecData *exec_data = g_new (ExecData, 1);
exec_data->receiver = g_object_ref (receiver);
- exec_data->invocation = g_object_ref (invocation);
+ exec_data->invocation = invocation; /* adopted */
GError *err = NULL;
if (!terminal_screen_exec (priv->screen,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]