aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_bits.c
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2015-03-12 12:11:13 +0100
committerHenrik Nord <[email protected]>2015-03-12 12:11:13 +0100
commit408c7dc8922a123aad815a24a27d7ff24971a253 (patch)
tree9f1e874299e433c8e0cb9e344a96e922ac134199 /erts/emulator/beam/erl_bits.c
parent43db415c05c20c1d0793ec994da265f02dc73e21 (diff)
parentfaeb9e9a67096af4257cd00409f06314f3223196 (diff)
downloadotp-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.c5
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;