diff options
author | Mikael Pettersson <[email protected]> | 2018-05-29 17:42:14 +0200 |
---|---|---|
committer | Mikael Pettersson <[email protected]> | 2018-05-29 17:42:14 +0200 |
commit | bedf71d2cae1f01b83829e5c8432342cfb1238c7 (patch) | |
tree | fc849875481043cd3640bf5ca408be3c3d1fcbfe /erts/emulator/beam | |
parent | 4f91c8a34f4cc2c728a63e8d218566b3b3795b10 (diff) | |
download | otp-bedf71d2cae1f01b83829e5c8432342cfb1238c7.tar.gz otp-bedf71d2cae1f01b83829e5c8432342cfb1238c7.tar.bz2 otp-bedf71d2cae1f01b83829e5c8432342cfb1238c7.zip |
do not call abort_signal_task() with invalid data
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r-- | erts/emulator/beam/erl_port_task.c | 5 |
1 files 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: erts_port_dec_refc(pp); 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); } |