File 3521-erts-Fix-one-heap-word-too-much-allocated-by-save_st.patch of Package erlang
From fa9a742299717a8cac742c1d7a8986e81d0d4cf9 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Wed, 23 Oct 2024 19:34:45 +0200
Subject: [PATCH 1/3] erts: Fix one heap word too much allocated by
save_stacktrace()
---
erts/emulator/beam/beam_common.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/erts/emulator/beam/beam_common.c b/erts/emulator/beam/beam_common.c
index a4e4e42eb1..d7e12a5fc7 100644
--- a/erts/emulator/beam/beam_common.c
+++ b/erts/emulator/beam/beam_common.c
@@ -883,9 +883,9 @@ save_stacktrace(Process* c_p, ErtsCodePtr pc, Eterm* reg,
/* Create a container for the exception data */
sz = (offsetof(struct StackTrace, trace) + sizeof(ErtsCodePtr) * depth
+ sizeof(Eterm) - 1) / sizeof(Eterm);
- s = (struct StackTrace *) HAlloc(c_p, 1 + sz);
+ s = (struct StackTrace *) HAlloc(c_p, sz);
/* The following fields are inside the bignum */
- s->header = make_pos_bignum_header(sz);
+ s->header = make_pos_bignum_header(sz - 1);
s->freason = c_p->freason;
s->depth = 0;
--
2.43.0