about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2016-10-06 15:31:08 +0200
committerGitHub <noreply@github.com>2016-10-06 15:31:08 +0200
commite0f06890b7b688f2b30f75fb0b621ecbb3ecd8dc (patch)
tree1ea122b98d1877ddbc4770af3dc870a43a8d0827
parente8bc8a239e94ee40cf9448ba19595b416b6975fb (diff)
parent450fe5a88750204aa93007904e9ede1a9f74bd74 (diff)
downloadmiasm-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.py2
-rw-r--r--miasm2/ir/ir.py2
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))