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
#include<stdio.h>intgg() {
return0;
}
intmain(void) {
intsmth=gg();
intnah=gg();
intbozo=gg();
while (1) {
printf("hi\n");
if (smth) {
printf("a\n");
if (!nah) {
printf("heh\n");
} else {
continue; // this skips over the if (bozo) break check
}
}
printf("aye!!\n");
if (bozo) { // trick the decompiler into thinking this is a do-whilebreak;
}
}
return0;
}
Decompiled code:
word32fn00401000()
{
return0x00;
}
word32fn00401011()
{
word32eax_10=fn00401000();
word32eax_16=fn00401000();
word32eax_22=fn00401000();
do
{
printf(&g_b402000);
if (eax_10!=0x00)
{
printf(&g_b402004);
if (eax_16!=0x00)
continue; // this hits the do while check (WRONG BEHAVIOR)printf(&g_b402007);
}
printf(&g_b40200C);
} while (eax_22==0x00);
return0x00;
}
The text was updated successfully, but these errors were encountered:
Thanks for reporting this. I'm not able to reproduce the error on my machine, probably because I'm using a different compiler than you are. Could you please provided the executable you're testing on, so that I can get the same starting point?
Original code:
Decompiled code:
The text was updated successfully, but these errors were encountered: