fkie-cad / dewolf

A research decompiler implemented as a Binary Ninja plugin.
GNU Lesser General Public License v2.1
171 stars 9 forks source link

[Crash][EPFunctionCall] AttributeError: 'GlobalVariable' object has no attribute 'operands' #122

Closed mm4rks closed 1 year ago

mm4rks commented 1 year ago

What happened?

Exception in thread Thread-3: Traceback (most recent call last): File "/usr/lib64/python3.10/threading.py", line 1016, in _bootstrap_inner self.run() File "/home/user/.tools/binaryninja/plugins/../python/binaryninja/plugin.py", line 928, in run self.task.run() File "/home/user/.binaryninja/plugins/dewolf/init.py", line 41, in run decompile(self.bv, self.function) File "/home/user/.binaryninja/plugins/dewolf/init.py", line 24, in decompile task = decompiler.decompile(function, options) File "/home/user/.binaryninja/plugins/dewolf/decompile.py", line 55, in decompile pipeline.run(task) File "/home/user/.binaryninja/plugins/dewolf/decompiler/pipeline/pipeline.py", line 97, in run instance.run(task) File "/home/user/.binaryninja/plugins/dewolf/decompiler/pipeline/dataflowanalysis/expressionpropagationfunctioncall.py", line 22, in run super().run(task) File "/home/user/.binaryninja/plugins/dewolf/decompiler/pipeline/commons/expressionpropagationcommons.py", line 47, in run while self.perform(task.graph, iteration): File "/home/user/.binaryninja/plugins/dewolf/decompiler/pipeline/dataflowanalysis/expressionpropagationfunctioncall.py", line 42, in perform if self._definition_can_be_propagated_into_target(var_definition, instruction): File "/home/user/.binaryninja/plugins/dewolf/decompiler/pipeline/dataflowanalysis/expressionpropagationfunctioncall.py", line 86, in _definition_can_be_propagated_into_target and self._is_call_value_used_exactly_once(definition) File "/home/user/.binaryninja/plugins/dewolf/decompiler/pipeline/dataflowanalysis/expressionpropagationfunctioncall.py", line 63, in _is_call_value_used_exactly_once if len(return_values := definition.destination.operands) == 1: AttributeError: 'GlobalVariable' object has no attribute 'operands'

How to reproduce?

decompile main() of alsamixer binary: alsamixer.zip

Affected Binary Ninja Version(s)

3.1.3703-dev (Build ID 2713759a)

mm4rks commented 1 year ago

Version 3.1.3469 (Build ID 93650e26) affected as well

mm4rks commented 1 year ago

/cib

github-actions[bot] commented 1 year ago

Branch issue-122-_Crash_EPFunctionCall_AttributeError_GlobalVariable_object_has_no_attribute_operands created!