Skip to content

Commit

Permalink
Fix concretize memory function in ProcessState
Browse files Browse the repository at this point in the history
  • Loading branch information
cnheitman committed May 10, 2024
1 parent e3c1757 commit 8420d45
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion tritondse/process_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,11 @@ def concretize_memory_bytes(self, addr: Addr, size: ByteSize) -> None:
"""
data = self.memory.read(addr, size)
if self.is_memory_symbolic(addr, size):
self.push_constraint(self.read_symbolic_memory_bytes(addr, size).getAst() == data)
if isinstance(data, bytes):
data_ast = self.actx.concat([self.actx.bv(b, 8) for b in data])
self.push_constraint(self.read_symbolic_memory_bytes(addr, size).getAst() == data_ast)
else:
self.push_constraint(self.read_symbolic_memory_bytes(addr, size).getAst() == data)
# else do not even push the constraint

def concretize_memory_int(self, addr: Addr, size: ByteSize) -> None:
Expand Down

0 comments on commit 8420d45

Please sign in to comment.