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

openSUSE Build Service is sponsored by