about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2020-10-08 20:18:38 +0200
committerGitHub <noreply@github.com>2020-10-08 20:18:38 +0200
commit821f817227298516c3ac1db96b259fd29f716667 (patch)
treea4bb9708315f6c910e57a01f219a97456d6a4b12
parent8f5b219e93b02124b32b540a524eb44bc7549f7c (diff)
parentd09ce00e9f4901a085a5539c5d3bb24a7f4e180a (diff)
downloadmiasm-821f817227298516c3ac1db96b259fd29f716667.tar.gz
miasm-821f817227298516c3ac1db96b259fd29f716667.zip
Merge pull request #1300 from serpilliere/fix_ir_add_bad_block
Fix lift AsmBadBlock
Diffstat (limited to '')
-rw-r--r--miasm/ir/ir.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/miasm/ir/ir.py b/miasm/ir/ir.py
index aa04c54f..aed5cb65 100644
--- a/miasm/ir/ir.py
+++ b/miasm/ir/ir.py
@@ -25,7 +25,7 @@ from future.utils import viewvalues, viewitems
 
 import miasm.expression.expression as m2_expr
 from miasm.expression.expression_helper import get_missing_interval
-from miasm.core.asmblock import AsmBlock, AsmConstraint
+from miasm.core.asmblock import AsmBlock, AsmBlockBad, AsmConstraint
 from miasm.core.graph import DiGraph
 from functools import reduce
 
@@ -539,7 +539,7 @@ class IRCFG(DiGraph):
             }
         )
         if node not in self._blocks:
-            yield [self.DotCellDescription(text="NOT PRESENT", attr={})]
+            yield [self.DotCellDescription(text="NOT PRESENT", attr={'bgcolor': 'red'})]
             return
         for i, assignblk in enumerate(self._blocks[node]):
             for dst, src in viewitems(assignblk):
@@ -807,6 +807,9 @@ class IntermediateRepresentation(object):
         loc_key = block.loc_key
         ir_blocks_all = []
 
+        if isinstance(block, AsmBlockBad):
+            return ir_blocks_all
+
         assignments = []
         for instr in block.lines:
             if loc_key is None: