diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2016-10-06 15:31:08 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-06 15:31:08 +0200 |
| commit | e0f06890b7b688f2b30f75fb0b621ecbb3ecd8dc (patch) | |
| tree | 1ea122b98d1877ddbc4770af3dc870a43a8d0827 | |
| parent | e8bc8a239e94ee40cf9448ba19595b416b6975fb (diff) | |
| parent | 450fe5a88750204aa93007904e9ede1a9f74bd74 (diff) | |
| download | miasm-e0f06890b7b688f2b30f75fb0b621ecbb3ecd8dc.tar.gz miasm-e0f06890b7b688f2b30f75fb0b621ecbb3ecd8dc.zip | |
Merge pull request #440 from carolineLe/fix_memread
Expression/IR: Fix mem_read parameter in 'get_r'
Diffstat (limited to '')
| -rw-r--r-- | miasm2/expression/expression.py | 2 | ||||
| -rw-r--r-- | miasm2/ir/ir.py | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/miasm2/expression/expression.py b/miasm2/expression/expression.py index 566db9f5..d04530c3 100644 --- a/miasm2/expression/expression.py +++ b/miasm2/expression/expression.py @@ -526,7 +526,7 @@ class ExprAff(Expr): def get_r(self, mem_read=False, cst_read=False): elements = self._src.get_r(mem_read, cst_read) - if isinstance(self._dst, ExprMem): + if isinstance(self._dst, ExprMem) and mem_read: elements.update(self._dst.arg.get_r(mem_read, cst_read)) return elements diff --git a/miasm2/ir/ir.py b/miasm2/ir/ir.py index ca5100e2..3a841fa5 100644 --- a/miasm2/ir/ir.py +++ b/miasm2/ir/ir.py @@ -129,7 +129,7 @@ class AssignBlock(dict): out = {} for dst, src in self.iteritems(): src_read = src.get_r(mem_read=mem_read, cst_read=cst_read) - if isinstance(dst, m2_expr.ExprMem): + if isinstance(dst, m2_expr.ExprMem) and mem_read: # Read on destination happens only with ExprMem src_read.update(dst.arg.get_r(mem_read=mem_read, cst_read=cst_read)) |