diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2016-01-31 21:09:08 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2016-01-31 22:27:00 +0100 |
| commit | 6b032f4db67b15a16a242db1fbea5ef5dceb79c2 (patch) | |
| tree | baa728f3a2abb7b22fe4ee801f95820a7c565550 /miasm2/core/cpu.py | |
| parent | 25d2ede9058607df0cfd2ed6a44f588cabb9d962 (diff) | |
| download | miasm-6b032f4db67b15a16a242db1fbea5ef5dceb79c2.tar.gz miasm-6b032f4db67b15a16a242db1fbea5ef5dceb79c2.zip | |
Core/cpu: fix pre_dis atomic
Diffstat (limited to 'miasm2/core/cpu.py')
| -rw-r--r-- | miasm2/core/cpu.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/miasm2/core/cpu.py b/miasm2/core/cpu.py index 8195f920..050648f5 100644 --- a/miasm2/core/cpu.py +++ b/miasm2/core/cpu.py @@ -1096,8 +1096,12 @@ class cls_mn(object): bs_o.enter_atomic_mode() offset_o = offset - pre_dis_info, bs, mode, offset, prefix_len = cls.pre_dis( - bs_o, mode_o, offset) + try: + pre_dis_info, bs, mode, offset, prefix_len = cls.pre_dis( + bs_o, mode_o, offset) + except: + bs_o.leave_atomic_mode() + raise candidates = cls.guess_mnemo(bs, mode, pre_dis_info, offset) if not candidates: bs_o.leave_atomic_mode() |