diff options
Diffstat (limited to 'erts/emulator/beam/erl_bif_unique.c')
-rw-r--r-- | erts/emulator/beam/erl_bif_unique.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/erts/emulator/beam/erl_bif_unique.c b/erts/emulator/beam/erl_bif_unique.c index ec118af1d2..68cd75c10d 100644 --- a/erts/emulator/beam/erl_bif_unique.c +++ b/erts/emulator/beam/erl_bif_unique.c @@ -591,14 +591,15 @@ erts_pid_ref_delete(Eterm ref) erts_rwmtx_rwlock(&tblp->rwmtx); tep = hash_remove(&tblp->hash, &tmpl); - ASSERT(tep); erts_rwmtx_rwunlock(&tblp->rwmtx); - if (tblp != &pid_ref_table[0].u.table) - erts_free(ERTS_ALC_T_PREF_NSCHED_ENT, (void *) tep); - else - erts_free(ERTS_ALC_T_PREF_ENT, (void *) tep); + if (tep) { + if (tblp != &pid_ref_table[0].u.table) + erts_free(ERTS_ALC_T_PREF_NSCHED_ENT, (void *) tep); + else + erts_free(ERTS_ALC_T_PREF_ENT, (void *) tep); + } } } |