You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Under certain circumstances decompiler might produce incorrect conditional expressions, as a result such expressions could change the semantics of composite expressions which include them. Sign extension via CWD instruction followed by two consecutive jump instructions JL/JG seems to be a common pattern which leads to generation of these excessive expressions.
Describe the bug
Under certain circumstances decompiler might produce incorrect conditional expressions, as a result such expressions could change the semantics of composite expressions which include them. Sign extension via CWD instruction followed by two consecutive jump instructions JL/JG seems to be a common pattern which leads to generation of these excessive expressions.
To Reproduce
Expected behavior
-1 < SWORD_1d2e_3356 || bVar6
likely should've been decompiled as-1 < SWORD_1d2e_3356
SWORD_1d2e_3356 < 0 && bVar4
likely should've been decompiled as0 < SWORD_1d2e_3356 >> 0xf
-1 < (int)uVar2 || bVar7
likely should've been decompiled as-1 < (int)uVar2
Note that semantics of composite expressions (1) and (3) doesn't reflect the underlying assembly, that is produced expressions are defective.
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: