diff options
| -rw-r--r-- | miasm/analysis/data_flow.py | 4 | ||||
| -rw-r--r-- | miasm/loader/pe_init.py | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/miasm/analysis/data_flow.py b/miasm/analysis/data_flow.py index ae44ed59..9274d9d6 100644 --- a/miasm/analysis/data_flow.py +++ b/miasm/analysis/data_flow.py @@ -1280,6 +1280,8 @@ def update_phi_with_deleted_edges(ircfg, edges_to_del): modified = False blocks = dict(ircfg.blocks) for loc_dst, loc_srcs in viewitems(phi_locs_to_srcs): + if loc_dst not in ircfg.blocks: + continue block = ircfg.blocks[loc_dst] if not irblock_has_phi(block): continue @@ -1353,6 +1355,8 @@ def del_unused_edges(ircfg, heads): for src, dst in edges_to_del_1.union(edges_to_del_2): ircfg.del_edge(src, dst) for node in nodes_to_del: + if node not in ircfg.blocks: + continue block = ircfg.blocks[node] ircfg.del_node(node) del ircfg.blocks[node] diff --git a/miasm/loader/pe_init.py b/miasm/loader/pe_init.py index 3e0c660e..202a7b00 100644 --- a/miasm/loader/pe_init.py +++ b/miasm/loader/pe_init.py @@ -46,8 +46,10 @@ class ContectRva(object): @rva_start: rva start address @rva_stop: rva stop address """ + if rva_start is None: + raise IOError("Out of range") if rva_start < 0: - raise ValueError("Out of range") + raise IOError("Out of range") if rva_stop is not None: if rva_stop > len(self.parent.img_rva): rva_stop = len(self.parent.img_rva) |