about summary refs log tree commit diff stats
path: root/miasm2/ir/translators/smt2.py
diff options
context:
space:
mode:
Diffstat (limited to 'miasm2/ir/translators/smt2.py')
-rw-r--r--miasm2/ir/translators/smt2.py13
1 files changed, 3 insertions, 10 deletions
diff --git a/miasm2/ir/translators/smt2.py b/miasm2/ir/translators/smt2.py
index f5e69163..1a513bfb 100644
--- a/miasm2/ir/translators/smt2.py
+++ b/miasm2/ir/translators/smt2.py
@@ -141,20 +141,13 @@ class TranslatorSMT2(Translator):
 
     def from_ExprLoc(self, expr):
         loc_key = expr.loc_key
-        if self.loc_db is None:
+        if self.loc_db is None or self.loc_db.get_location_offset(loc_key) is None:
             if str(loc_key) not in self._bitvectors:
                 self._bitvectors[str(loc_key)] = expr.size
             return str(loc_key)
 
-        offset = self.loc_db.loc_key_to_offset(loc_key)
-        name = self.loc_db.loc_key_to_name(loc_key)
-
-        if offset is None:
-            return bit_vec_val(str(offset), expr.size)
-        name = "|{}|".format(str(name))
-        if name not in self._bitvectors:
-            self._bitvectors[name] = expr.size
-        return name
+        offset = self.loc_db.get_location_offset(loc_key)
+        return bit_vec_val(str(offset), expr.size)
 
     def from_ExprMem(self, expr):
         addr = self.from_expr(expr.arg)