diff options
author | Henrik Nord <[email protected]> | 2015-03-12 12:11:13 +0100 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2015-03-12 12:11:13 +0100 |
commit | 408c7dc8922a123aad815a24a27d7ff24971a253 (patch) | |
tree | 9f1e874299e433c8e0cb9e344a96e922ac134199 /erts/emulator/beam/erl_bits.c | |
parent | 43db415c05c20c1d0793ec994da265f02dc73e21 (diff) | |
parent | faeb9e9a67096af4257cd00409f06314f3223196 (diff) | |
download | otp-408c7dc8922a123aad815a24a27d7ff24971a253.tar.gz otp-408c7dc8922a123aad815a24a27d7ff24971a253.tar.bz2 otp-408c7dc8922a123aad815a24a27d7ff24971a253.zip |
Merge branch 'maint'
Conflicts:
erts/emulator/hipe/hipe_bif0.c
Diffstat (limited to 'erts/emulator/beam/erl_bits.c')
-rw-r--r-- | erts/emulator/beam/erl_bits.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_bits.c b/erts/emulator/beam/erl_bits.c index 71d31c01aa..5cc0a23dc9 100644 --- a/erts/emulator/beam/erl_bits.c +++ b/erts/emulator/beam/erl_bits.c @@ -403,7 +403,10 @@ erts_bs_get_integer_2(Process *p, Uint num_bits, unsigned flags, ErlBinMatchBuff words_needed = 1+WSIZE(bytes); hp = HeapOnlyAlloc(p, words_needed); res = bytes_to_big(LSB, bytes, sgn, hp); - if (is_small(res)) { + if (is_nil(res)) { + p->htop = hp; + res = THE_NON_VALUE; + } else if (is_small(res)) { p->htop = hp; } else if ((actual = bignum_header_arity(*hp)+1) < words_needed) { p->htop = hp + actual; |