aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2011-04-01 15:24:32 +0200
committerSverker Eriksson <[email protected]>2011-04-01 15:24:54 +0200
commit745c4af40595c8b029c2d61ddbe22c6d12950236 (patch)
tree571d701e5f6df8add4c80a5879efe81269a45dc9
parent5d3c00624934c700c4fa13044e6de3bfe08d2d50 (diff)
parentb715c077a88d5ba68e4e79b32c1c0de087234bbf (diff)
downloadotp-745c4af40595c8b029c2d61ddbe22c6d12950236.tar.gz
otp-745c4af40595c8b029c2d61ddbe22c6d12950236.tar.bz2
otp-745c4af40595c8b029c2d61ddbe22c6d12950236.zip
Merge branch 'sverker/hipe-binmatch-heap-corrupt' into dev
* sverker/hipe-binmatch-heap-corrupt: Fix hipe bug in convert_matchstate, bignum-padding one word too long OTP-9182
-rw-r--r--lib/hipe/rtl/hipe_tagscheme.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hipe/rtl/hipe_tagscheme.erl b/lib/hipe/rtl/hipe_tagscheme.erl
index 5859c345d0..0cc6c2deec 100644
--- a/lib/hipe/rtl/hipe_tagscheme.erl
+++ b/lib/hipe/rtl/hipe_tagscheme.erl
@@ -1045,7 +1045,7 @@ convert_matchstate(Ms) ->
build_sub_binary(Ms, ByteSize, ByteOffset, BitSize, BitOffset,
hipe_rtl:mk_imm(0), Orig),
size_from_header(SizeInWords, Header),
- hipe_rtl:mk_alu(Hole, SizeInWords, sub, hipe_rtl:mk_imm(?SUB_BIN_WORDSIZE-1)),
+ hipe_rtl:mk_alu(Hole, SizeInWords, sub, hipe_rtl:mk_imm(?SUB_BIN_WORDSIZE)),
mk_var_header(BigIntHeader, Hole, ?TAG_HEADER_POS_BIG),
hipe_rtl:mk_store(Ms, hipe_rtl:mk_imm(?SUB_BIN_WORDSIZE*WordSize-?TAG_PRIMARY_BOXED),
BigIntHeader)].