summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/erl_bif_unique.c
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/beam/erl_bif_unique.c')
-rw-r--r--erts/emulator/beam/erl_bif_unique.c11
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);
+ }
}
}