File 1463-erts-Fix-SEGV-during-crashdump-of-emptied-ETS-table.patch of Package erlang

From e33028ab30041513132866f8c9d3c65464d853ee Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Fri, 21 Oct 2022 19:53:42 +0200
Subject: [PATCH] erts: Fix SEGV during crashdump of emptied ETS table

during ets:delete_all_objects.
---
 erts/emulator/beam/erl_db_hash.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/erts/emulator/beam/erl_db_hash.c b/erts/emulator/beam/erl_db_hash.c
index aa04a6a03c..fce1b8dd19 100644
--- a/erts/emulator/beam/erl_db_hash.c
+++ b/erts/emulator/beam/erl_db_hash.c
@@ -4008,6 +4008,12 @@ void db_calc_stats_hash(DbTableHash* tb, DbHashStats* stats)
     int ix;
     int len;
     
+    if (tb->nslots < NACTIVE(tb)) {
+        ASSERT(ERTS_IS_CRASH_DUMPING);
+        sys_memzero(stats, sizeof(*stats));
+        return;
+    }
+
     stats->min_chain_len = INT_MAX;
     stats->max_chain_len = 0;
     ix = 0;
-- 
2.35.3

openSUSE Build Service is sponsored by