diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-07-17 18:01:24 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-07-17 18:01:24 +0200 |
| commit | 8ad472c11831c32831d6681b0e71009e2ec0f253 (patch) | |
| tree | 776dbbdc1d9e780757401e71259e7d88352a3000 /src | |
| parent | fd6895782fc12a949781507361198a7f9a4566b5 (diff) | |
| download | box64-8ad472c11831c32831d6681b0e71009e2ec0f253.tar.gz box64-8ad472c11831c32831d6681b0e71009e2ec0f253.zip | |
don't try to restore pointer in my___libc_start_main if quit is true for current emu struct
Diffstat (limited to 'src')
| -rwxr-xr-x | src/emu/x64run_private.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c index 20d2c870..d2003a90 100755 --- a/src/emu/x64run_private.c +++ b/src/emu/x64run_private.c @@ -55,9 +55,11 @@ int32_t EXPORT my___libc_start_main(x64emu_t* emu, int *(main) (int, char * *, c DynaRun(emu); - SetRSP(emu, GetRBP(emu)); // restore RSP - SetRBP(emu, Pop64(emu)); // restore RBP - emu->quit = 1; // finished! + if(!emu->quit) { + SetRSP(emu, GetRBP(emu)); // restore RSP + SetRBP(emu, Pop64(emu)); // restore RBP + emu->quit = 1; // finished! + } return 0; } |