File 0367-do-not-call-abort_signal_task-with-invalid-data.patch of Package erlang

From bedf71d2cae1f01b83829e5c8432342cfb1238c7 Mon Sep 17 00:00:00 2001
From: Mikael Pettersson <mikpelinux@gmail.com>
Date: Tue, 29 May 2018 17:42:14 +0200
Subject: [PATCH] do not call abort_signal_task() with invalid data

---
 erts/emulator/beam/erl_port_task.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/erts/emulator/beam/erl_port_task.c b/erts/emulator/beam/erl_port_task.c
index 4a3671df0c..3953a4c2e9 100644
--- a/erts/emulator/beam/erl_port_task.c
+++ b/erts/emulator/beam/erl_port_task.c
@@ -1567,8 +1567,9 @@ fail:
 #endif
 
     if (ptp) {
-        abort_signal_task(pp, ERTS_PROC2PORT_SIG_ABORT,
-                          ptp->type, &ptp->u.alive.td, 0);
+        if (ptp->type == ERTS_PORT_TASK_PROC_SIG)
+            abort_signal_task(pp, ERTS_PROC2PORT_SIG_ABORT,
+                              ptp->type, &ptp->u.alive.td, 0);
 	port_task_free(ptp);
     }
 
-- 
2.17.1

openSUSE Build Service is sponsored by