File 1075-Check-suspendee-argument-for-suspend_process-resume_.patch of Package erlang

From 254e0c840350c9ce008f3fc0f60449a8478369a9 Mon Sep 17 00:00:00 2001
From: Rickard Green <rickard@erlang.org>
Date: Mon, 14 Dec 2020 12:38:55 +0100
Subject: [PATCH] Check suspendee argument for
 suspend_process()/resume_process()

---
 erts/emulator/beam/erl_process.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 1f464e2e5a..f219473150 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -9611,6 +9611,9 @@ erts_internal_suspend_process_2(BIF_ALIST_2)
     if (BIF_P->common.id == BIF_ARG_1)
 	goto badarg; /* We are not allowed to suspend ourselves */
 
+    if (!is_internal_pid(BIF_ARG_1))
+        goto badarg;
+
     if (is_not_nil(BIF_ARG_2)) {
 	/* Parse option list */
 	Eterm arg = BIF_ARG_2;
@@ -9844,6 +9847,9 @@ resume_process_1(BIF_ALIST_1)
     if (BIF_P->common.id == BIF_ARG_1)
 	BIF_ERROR(BIF_P, BADARG);
 
+    if (!is_internal_pid(BIF_ARG_1))
+	BIF_ERROR(BIF_P, BADARG);
+
     erts_smp_proc_lock(BIF_P, ERTS_PROC_LOCK_LINK);
     smon = erts_lookup_suspend_monitor(BIF_P->suspend_monitors, BIF_ARG_1);
 
-- 
2.26.2

openSUSE Build Service is sponsored by