diff options
author | Lukas Larsson <lukas@erlang.org> | 2019-09-12 12:22:28 +0200 |
---|---|---|
committer | Lukas Larsson <lukas@erlang.org> | 2019-09-12 12:22:28 +0200 |
commit | c0de8512d69f1ef87812711619a15c873da54dda (patch) | |
tree | c969d7891a5094f877bb07c47535d02bfc836b3b /erts | |
parent | 8c4274afbb09468180020835b257185c6415fd4f (diff) | |
parent | 6040ce4b5f4ff124060c2e1ae6a8e03bc80bb3d4 (diff) | |
download | erlang-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.c | 4 |
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; |