diff options
| author | coco <coco@hexgolems.com> | 2017-08-02 12:19:19 +0200 |
|---|---|---|
| committer | coco <coco@hexgolems.com> | 2017-08-02 12:19:19 +0200 |
| commit | 23b4198eac3f70e708ffcc3ccecb19dfa5cd497e (patch) | |
| tree | 02e4beac50f8b79b450a30a26216a0fce756b2a7 /miasm2/core/cpu.py | |
| parent | 5b27a6e9978419f5317a65b9858697e8bd2eea66 (diff) | |
| download | miasm-23b4198eac3f70e708ffcc3ccecb19dfa5cd497e.tar.gz miasm-23b4198eac3f70e708ffcc3ccecb19dfa5cd497e.zip | |
fix atomic_mode leak
Diffstat (limited to 'miasm2/core/cpu.py')
| -rw-r--r-- | miasm2/core/cpu.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/miasm2/core/cpu.py b/miasm2/core/cpu.py index 3502397d..aa94773f 100644 --- a/miasm2/core/cpu.py +++ b/miasm2/core/cpu.py @@ -1169,7 +1169,11 @@ class cls_mn(object): if bs_l * 8 - offset_b < l: getok = False break - bv = cls.getbits(bs, mode, offset_b, l) + try: + bv = cls.getbits(bs, mode, offset_b, l) + except: + bs_o.leave_atomic_mode() + raise offset_b += l if not f.fname in fname_values: fname_values[f.fname] = bv |