From d563fdd7f3bfa5df218e3965ca45a0348514a2a7 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Mon, 6 Nov 2017 17:59:28 +0100 Subject: erts: Fix bug in systask scheduling when request id is an immediate. Ex: erlang:garbage_collect(P, [{async,Immediate}]). may crash the VM. --- erts/emulator/beam/erl_process.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'erts/emulator/beam') diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index b4b97d7df1..fd02f10540 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -9824,7 +9824,7 @@ erts_internal_request_system_task_3(BIF_ALIST_3) goto badarg; req_type = tp[1]; req_id = tp[2]; - req_id_sz = is_immed(req_id) ? req_id : size_object(req_id); + req_id_sz = is_immed(req_id) ? 0 : size_object(req_id); tot_sz = req_id_sz; for (i = 0; i < ERTS_MAX_PROC_SYS_TASK_ARGS; i++) { int tix = 3 + i; -- cgit v1.2.3