diff options
author | Björn Gustavsson <bjorn@erlang.org> | 2012-01-25 16:23:53 +0100 |
---|---|---|
committer | Björn Gustavsson <bjorn@erlang.org> | 2012-01-25 16:32:44 +0100 |
commit | 319bb885bf243b1c0549a9f5cab3d256ab0c1084 (patch) | |
tree | 7aee3960dabbc899c1d81050b226b31ee2c33cc1 /erts/emulator | |
parent | d58a69fcf3af87043d6d807f3101bf0b4d9f6a41 (diff) | |
download | otp-319bb885bf243b1c0549a9f5cab3d256ab0c1084.tar.gz otp-319bb885bf243b1c0549a9f5cab3d256ab0c1084.tar.bz2 otp-319bb885bf243b1c0549a9f5cab3d256ab0c1084.zip |
Fix crash in trace_info({M,F,A}, Flags) when M:F/A has native code
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/beam/beam_bp.c | 6 |
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; } |