diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-10-26 13:58:20 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-10-26 13:58:20 +0200 |
| commit | baf6fc89873fbf7af3bd46d539d2ff2fbc13ed5f (patch) | |
| tree | 432b1c90cc3489b2424ae279a2e6f1307b7f19af /src/wrapped | |
| parent | bf75d6496f411bbbacc2d0687a32f0043c704438 (diff) | |
| download | box64-baf6fc89873fbf7af3bd46d539d2ff2fbc13ed5f.tar.gz box64-baf6fc89873fbf7af3bd46d539d2ff2fbc13ed5f.zip | |
Added BOX64_ROLLING_LOG support to __stack_chk_fail
Diffstat (limited to 'src/wrapped')
| -rwxr-xr-x | src/wrapped/wrappedlibc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 630b5cd1..b387fccb 100755 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -358,6 +358,15 @@ void EXPORT my___stack_chk_fail(x64emu_t* emu) #else sprintf(buff, "%p: Stack is corrupted, aborting\n", (void*)emu->old_ip); #endif + if(cycle_log) { + int j = (my_context->current_line+1)&(CYCLE_LOG-1); + for (int i=0; i<CYCLE_LOG; ++i) { + int k = (i+j)&(CYCLE_LOG-1); + if(my_context->log_call[k][0]) { + printf_log(LOG_INFO, "%s => return %s\n", my_context->log_call[k], my_context->log_ret[k]); + } + } + } StopEmu(emu, buff); } void EXPORT my___gmon_start__(x64emu_t *emu) |