diff options
| author | serpilliere <devnull@localhost> | 2011-11-07 14:19:58 +0100 |
|---|---|---|
| committer | serpilliere <devnull@localhost> | 2011-11-07 14:19:58 +0100 |
| commit | 6d1d5d78a747892e92d9dd013e68596a6a2a826c (patch) | |
| tree | 39b864c67540f1fd3563a310604ac7e0f4f3e97c | |
| parent | b20d4b409f26a3d9109a09984e944979941a0aa8 (diff) | |
| download | miasm-6d1d5d78a747892e92d9dd013e68596a6a2a826c.tar.gz miasm-6d1d5d78a747892e92d9dd013e68596a6a2a826c.zip | |
fix error raise
| -rw-r--r-- | miasm/core/asmbloc.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/miasm/core/asmbloc.py b/miasm/core/asmbloc.py index 54421785..2237af8b 100644 --- a/miasm/core/asmbloc.py +++ b/miasm/core/asmbloc.py @@ -152,7 +152,7 @@ class asm_symbol_pool: def add(self, l): if l.name in self.s: - fdsf + raise ValueError('symbol already exist %r'%l) self.s[l.name] = l self.s_offset[l.offset] = l @@ -196,7 +196,18 @@ class asm_symbol_pool: def __str__(self): return reduce(lambda x,y: x+str(y)+'\n', [self.s[l] for l in self.s], "") - +class interval(): + # addrs represent interval using the form: + # [start_addr1, stop_addr1[ U [start_addr2, stop_addr2[ U ... + def __init__(self, addrs): + self.intervals = addrs + def __contains__(self, ad): + for start, stop in self.intervals: + if start <= ad < stop: + return True + return False + def __getitem__(self, s): + return self.intervals.__getitem__(s) def dis_bloc(mnemo, pool_bin, cur_bloc, offset, job_done, symbol_pool, dont_dis = [], |