File 0897-erts-Fix-decode-of-BINARY_EXT-and-BIT_BINARY_EXT-whe.patch of Package erlang
From ee16427b16fbdc4d8b5f08bd7ef208f0f9d14421 Mon Sep 17 00:00:00 2001
From: Mikael Pettersson <mikpelinux@gmail.com>
Date: Sat, 29 Oct 2022 15:20:07 +0200
Subject: [PATCH 2/2] erts: Fix decode of BINARY_EXT and BIT_BINARY_EXT when
size >= 2Gb
Co-authored-by: Sverker Eriksson <sverker@erlang.org>
---
erts/emulator/beam/erl_binary.h | 19 +++----
erts/emulator/beam/external.c | 82 +++++++++++++++++------------
erts/emulator/beam/sys.h | 2 +
erts/emulator/test/binary_SUITE.erl | 19 +++++++
4 files changed, 79 insertions(+), 43 deletions(-)
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h
index 90e3008102..7ce426a9db 100644
--- a/erts/emulator/beam/sys.h
+++ b/erts/emulator/beam/sys.h
@@ -1200,6 +1200,8 @@ ERTS_GLB_INLINE size_t sys_strlen(const char *s)
(((byte*) (s))[1] << 8) | \
(((byte*) (s))[0]))
+#define get_uint32(s) ((Uint32)get_int32(s))
+
#define put_int32(i, s) do {((byte*)(s))[0] = (byte)((i) >> 24) & 0xff; \
((byte*)(s))[1] = (byte)((i) >> 16) & 0xff; \
((byte*)(s))[2] = (byte)((i) >> 8) & 0xff; \
--
2.35.3