aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-01-26 10:43:49 +0100
committerBjörn Gustavsson <[email protected]>2012-01-26 10:43:49 +0100
commit0ea66a32ea84121bd0b7a8e7aed743b2c4593ec6 (patch)
tree744ceaaa73408578a26171118a9aa09ac8311144 /erts/emulator/beam
parent716f6e4c99dd03ee48087bbebe37bfb42c08835e (diff)
parent9d2a2e3db06e861045e51ca3cc8adb9cf8fc467d (diff)
downloadotp-0ea66a32ea84121bd0b7a8e7aed743b2c4593ec6.tar.gz
otp-0ea66a32ea84121bd0b7a8e7aed743b2c4593ec6.tar.bz2
otp-0ea66a32ea84121bd0b7a8e7aed743b2c4593ec6.zip
Merge branch 'maint'
* maint: Update primary bootstrap erl_lint: Disallow call to is_record/3 if there is a local is_record/3 Fix crash in trace_info({M,F,A}, Flags) when M:F/A has native code Ensure that generated record operations don't call local functions
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/beam_bp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_bp.c b/erts/emulator/beam/beam_bp.c
index 692fa61fe8..dd13cd179a 100644
--- a/erts/emulator/beam/beam_bp.c
+++ b/erts/emulator/beam/beam_bp.c
@@ -1329,10 +1329,14 @@ static BpData *get_break(Process *p, BeamInstr *pc, BeamInstr break_op) {
}
static BpData *is_break(BeamInstr *pc, BeamInstr break_op) {
- BpData **rs = (BpData **) pc[-4];
+ BpData **rs;
BpData *bd = NULL, *ebd = NULL;
ASSERT(pc[-5] == (BeamInstr) BeamOp(op_i_func_info_IaaI));
+ if (erts_is_native_break(pc)) {
+ return NULL;
+ }
+ rs = (BpData **) pc[-4];
if (! rs) {
return NULL;
}