File 1382-erts-Suppress-false-array-out-of-bounds-warnings.patch of Package erlang

From 57bf81170116de7eefe3478f0bf04ae306b5f71b Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Tue, 27 Jan 2026 18:35:01 +0100
Subject: [PATCH 2/6] erts: Suppress false array out of bounds warnings

---
 erts/emulator/beam/erl_proc_sig_queue.c | 8 ++++----
 erts/emulator/beam/erl_term.h           | 2 +-
 erts/emulator/beam/erl_trace.c          | 3 ++-
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/erts/emulator/beam/erl_term.h b/erts/emulator/beam/erl_term.h
index 13ab10c6a5..beb44c0818 100644
--- a/erts/emulator/beam/erl_term.h
+++ b/erts/emulator/beam/erl_term.h
@@ -1127,7 +1127,7 @@ typedef struct external_thing_ {
 	    Uint32 high;
 #endif
 	} port;
-	Uint32              ui32[1];
+	Uint32              ui32[2];
 	Uint                ui[1];
     } data;
 } ExternalThing;
diff --git a/erts/emulator/beam/erl_trace.c b/erts/emulator/beam/erl_trace.c
index b4b9c6a0ce..c242eb3574 100644
--- a/erts/emulator/beam/erl_trace.c
+++ b/erts/emulator/beam/erl_trace.c
@@ -3535,7 +3535,8 @@ erts_tracer_update_impl(ErtsTracer *tracer, ErtsTracer new_tracer)
         hp = hf->mem + 2;
         hf->used_size -= (sizeof(ErtsThrPrgrLaterOp)+sizeof(Eterm)-1)/sizeof(Eterm) + 1;
         *tracer = copy_struct(tracer_state, sz, &hp, &hf->off_heap);
-        *tracer = CONS(hf->mem, tracer_module, *tracer);
+        hp = hf->mem;
+        *tracer = CONS(hp, tracer_module, *tracer);
         ASSERT((void*)(((char*)(ptr_val(*tracer)) - offsetof(ErlHeapFragment, mem))) == hf);
     }
 }
-- 
2.51.0

openSUSE Build Service is sponsored by