Skip to content

Commit

Permalink
[erts] Fix crash on reception of fragmentated message to unaliased pr…
Browse files Browse the repository at this point in the history
…ocess
  • Loading branch information
rickard-green authored and jaydoane committed Dec 11, 2023
1 parent 0042c03 commit 3af2d90
Showing 1 changed file with 2 additions and 8 deletions.
10 changes: 2 additions & 8 deletions erts/emulator/beam/erl_proc_sig_queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -5436,8 +5436,6 @@ handle_alias_message(Process *c_p, ErtsMessage *sig, ErtsMessage ***next_nm_sig)
ASSERT(is_internal_pid(from) || is_atom(from));
ASSERT(is_internal_pid_ref(alias));

ERL_MESSAGE_FROM(sig) = from;

mon = erts_monitor_tree_lookup(ERTS_P_MONITORS(c_p), alias);
flags = mon ? mon->flags : (Uint16) 0;
if (!(flags & ERTS_ML_STATE_ALIAS_MASK)
Expand All @@ -5447,17 +5445,13 @@ handle_alias_message(Process *c_p, ErtsMessage *sig, ErtsMessage ***next_nm_sig)
* drop message...
*/
remove_nm_sig(c_p, sig, next_nm_sig);
/* restored as message... */
ERL_MESSAGE_TERM(sig) = msg;
if (type == ERTS_SIG_Q_TYPE_DIST)
sig->data.heap_frag = &sig->hfrag;
else
sig->data.attached = data_attached;
sig->next = NULL;;
erts_cleanup_messages(sig);
return 2;
}

ERL_MESSAGE_FROM(sig) = from;

if ((flags & ERTS_ML_STATE_ALIAS_MASK) == ERTS_ML_STATE_ALIAS_ONCE) {
mon->flags &= ~ERTS_ML_STATE_ALIAS_MASK;

Expand Down

0 comments on commit 3af2d90

Please sign in to comment.