diff options
| author | Peter LaFosse <peter@vector35.com> | 2023-05-26 11:05:21 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2023-05-26 11:05:25 -0400 |
| commit | f8ba38091323f7e3402bd73bb1e53ac358696dd0 (patch) | |
| tree | 18fcdd0a12541971100061eaabe7d30646316118 /python/highlevelil.py | |
| parent | 559b977c4e6989d62bdb0340e202a82334017ee4 (diff) | |
Fix bugs in hlil.ssa_form.vars_written returning empty when it shouldn't
Diffstat (limited to 'python/highlevelil.py')
| -rw-r--r-- | python/highlevelil.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/python/highlevelil.py b/python/highlevelil.py index 9ad6cb2f..676d1508 100644 --- a/python/highlevelil.py +++ b/python/highlevelil.py @@ -1285,7 +1285,7 @@ class HighLevelILAssign(HighLevelILInstruction): @property def vars_written(self) -> VariablesList: - if isinstance(self.dest, (HighLevelILSplit, HighLevelILVar)): + if isinstance(self.dest, (HighLevelILSplit, HighLevelILVar, HighLevelILVarSsa)): return [*self.dest.vars, *self.src.vars_written] elif isinstance(self.dest, HighLevelILStructField): return [*self.dest.vars, *self.src.vars_written] @@ -1314,7 +1314,7 @@ class HighLevelILAssignUnpack(HighLevelILInstruction): def vars_written(self) -> VariablesList: result = [] for i in self.dest: - if isinstance(i, HighLevelILVar): + if isinstance(i, (HighLevelILVar, HighLevelILVarSsa)): result.append(i.var) else: result.extend(i.vars_written) @@ -1603,9 +1603,9 @@ class HighLevelILDerefFieldSsa(HighLevelILInstruction, SSA): class HighLevelILAddressOf(HighLevelILUnaryBase): @property def vars_address_taken(self) -> VariablesList: - if isinstance(self.src, HighLevelILVar): + if isinstance(self.src, (HighLevelILVar, HighLevelILVarSsa)): return [self.src.var] - elif isinstance(self.src, HighLevelILStructField) and isinstance(self.src.src, HighLevelILVar): + elif isinstance(self.src, HighLevelILStructField) and isinstance(self.src.src, (HighLevelILVar, HighLevelILVarSsa)): return [self.src.src.var] return [*self.src.vars_address_taken] |
