summaryrefslogtreecommitdiff
path: root/src/debug/ee/frameinfo.cpp
diff options
context:
space:
mode:
authorJuan Sebastian Hoyos Ayala <juan.hoyos@microsoft.com>2018-07-09 14:28:57 -0700
committerJuan Sebastian Hoyos Ayala <juan.hoyos@microsoft.com>2018-07-10 10:36:19 -0700
commit32741b9e97f901242394dfc682c228a5d810f454 (patch)
tree140cbd03e6077f46ce3f12459622e1ddbf9fcb3a /src/debug/ee/frameinfo.cpp
parent6de41e2f4ffd8971d767e2aadb195f8c51286479 (diff)
downloadcoreclr-32741b9e97f901242394dfc682c228a5d810f454.tar.gz
coreclr-32741b9e97f901242394dfc682c228a5d810f454.tar.bz2
coreclr-32741b9e97f901242394dfc682c228a5d810f454.zip
GS cookie check fix for debugger stackwalks port
This bug fix is a port from the equivalent fix in framework. The debugger tried performing a stackwalk in the epilog due to the JIT incorrectly reporting epilogue information. This caused an invalid GS cookie to be checked and caused the debugger to crash. A flag was added to allow debug stackwalks to skip the cookie check.
Diffstat (limited to 'src/debug/ee/frameinfo.cpp')
-rw-r--r--src/debug/ee/frameinfo.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/debug/ee/frameinfo.cpp b/src/debug/ee/frameinfo.cpp
index 0387ca9217..f8f8932cd8 100644
--- a/src/debug/ee/frameinfo.cpp
+++ b/src/debug/ee/frameinfo.cpp
@@ -2141,7 +2141,9 @@ StackWalkAction DebuggerWalkStack(Thread *thread,
result = g_pEEInterface->StackWalkFramesEx(thread, &data.regDisplay,
DebuggerWalkStackProc,
- &data, flags | HANDLESKIPPEDFRAMES | NOTIFY_ON_U2M_TRANSITIONS | ALLOW_ASYNC_STACK_WALK);
+ &data,
+ flags | HANDLESKIPPEDFRAMES | NOTIFY_ON_U2M_TRANSITIONS |
+ ALLOW_ASYNC_STACK_WALK | SKIP_GSCOOKIE_CHECK);
}
else
{