File 1236-erts-Fix-forker-port-task-memory-leak.patch of Package erlang
From fbef589168a99bb11ef9f5b3ceb7f070d9fa1a5f Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Thu, 7 Jan 2021 21:45:29 +0100
Subject: [PATCH] erts: Fix forker port task memory leak
The early return in erts_schedule_port2port_signal()
did leak the port task and its command buffer.
---
erts/emulator/beam/io.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c
index 13b8125a99..9d57e3286a 100644
--- a/erts/emulator/beam/io.c
+++ b/erts/emulator/beam/io.c
@@ -1265,14 +1265,9 @@ erts_schedule_port2port_signal(Eterm port_num, ErtsProc2PortSigData *sigdp,
int task_flags,
ErtsProc2PortSigCallback callback)
{
- Port *prt = erts_port_lookup_raw(port_num);
-
- if (!prt)
- return -1;
-
sigdp->caller = ERTS_INVALID_PID;
- return erts_port_task_schedule(prt->common.id,
+ return erts_port_task_schedule(port_num,
NULL,
ERTS_PORT_TASK_PROC_SIG,
sigdp,
--
2.26.2