File 0764-Fix-integer-overflow-in-size-calculation-in-binary_t.patch of Package erlang
From 6040ce4b5f4ff124060c2e1ae6a8e03bc80bb3d4 Mon Sep 17 00:00:00 2001
From: Dmytro Lytovchenko <dlytovch@cisco.com>
Date: Tue, 10 Sep 2019 15:25:19 +0200
Subject: [PATCH] Fix integer overflow in size calculation in binary_to_term
for output larger than 2 billion words
---
erts/emulator/beam/external.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c
index c0a3838d42..84177f77a3 100644
--- a/erts/emulator/beam/external.c
+++ b/erts/emulator/beam/external.c
@@ -1185,7 +1185,7 @@ enum B2TState { /* order is somewhat significant */
};
typedef struct {
- int heap_size;
+ Sint heap_size;
int terms;
byte* ep;
int atom_extra_skip;
@@ -4351,7 +4351,7 @@ encode_size_struct_int(TTBSizeContext* ctx, ErtsAtomCacheMap *acmp, Eterm obj,
static Sint
decoded_size(byte *ep, byte* endp, int internal_tags, B2TContext* ctx)
{
- int heap_size;
+ Sint heap_size;
int terms;
int atom_extra_skip;
Uint n;
--
2.16.4