aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2018-12-05 12:23:40 +0100
committerGitHub <[email protected]>2018-12-05 12:23:40 +0100
commit8caf018e460ca1efbe0df41aa042cf1d25c62dd3 (patch)
tree92fb851e570c8c5ecfd93155ab4c85cfa74f0fdf /erts
parentf37c8b37f49034fe10898ea47ed9c043ad2ba173 (diff)
parent754e2022059864f2c4025ab67da759bde922a066 (diff)
downloadotp-8caf018e460ca1efbe0df41aa042cf1d25c62dd3.tar.gz
otp-8caf018e460ca1efbe0df41aa042cf1d25c62dd3.tar.bz2
otp-8caf018e460ca1efbe0df41aa042cf1d25c62dd3.zip
Merge pull request #2039 from garazdawi/lukas/erts/fix_lit_msg_copy_in_gc/ERL-741/OTP-15478
erts: Fix copy of literal msg during gc
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/erl_gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c
index b4df418cd5..d5dfb096b1 100644
--- a/erts/emulator/beam/erl_gc.c
+++ b/erts/emulator/beam/erl_gc.c
@@ -2477,7 +2477,7 @@ erts_copy_one_frag(Eterm** hpp, ErlOffHeap* off_heap,
*hpp = hp;
for (i = 0; i < nrefs; i++) {
- if (is_not_immed(refs[i]))
+ if (is_not_immed(refs[i]) && !erts_is_literal(refs[i],boxed_val(refs[i])))
refs[i] = offset_ptr(refs[i], offs);
}
bp->off_heap.first = NULL;