about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-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))