summaryrefslogtreecommitdiff
path: root/erts
diff options
context:
space:
mode:
authorLukas Larsson <lukas@erlang.org>2019-09-12 12:22:28 +0200
committerLukas Larsson <lukas@erlang.org>2019-09-12 12:22:28 +0200
commitc0de8512d69f1ef87812711619a15c873da54dda (patch)
treec969d7891a5094f877bb07c47535d02bfc836b3b /erts
parent8c4274afbb09468180020835b257185c6415fd4f (diff)
parent6040ce4b5f4ff124060c2e1ae6a8e03bc80bb3d4 (diff)
downloaderlang-c0de8512d69f1ef87812711619a15c873da54dda.tar.gz
Merge branch 'kvakvs/erts/binary_to_term_int_overflow/OTP-16058' into maint
* kvakvs/erts/binary_to_term_int_overflow/OTP-16058: Fix integer overflow in size calculation in binary_to_term for output larger than 2 billion words
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/external.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c
index ce61cdf040..39bbf62eae 100644
--- a/erts/emulator/beam/external.c
+++ b/erts/emulator/beam/external.c
@@ -1414,7 +1414,7 @@ enum B2TState { /* order is somewhat significant */
};
typedef struct {
- int heap_size;
+ Sint heap_size;
int terms;
byte* ep;
int atom_extra_skip;
@@ -4633,7 +4633,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;