Eric Pouech : winedbg:
Native dbghelp can modify the passed debug context in StackWalk,
so guard against it.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Aug 14 14:10:23 CDT 2006
Module: wine
Branch: master
Commit: 84650ebbb2cc69dd657b1935674011da3ddcdfed
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=84650ebbb2cc69dd657b1935674011da3ddcdfed
Author: Eric Pouech <eric.pouech at wanadoo.fr>
Date: Sun Aug 13 20:46:54 2006 +0200
winedbg: Native dbghelp can modify the passed debug context in StackWalk, so guard against it.
---
programs/winedbg/stack.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/programs/winedbg/stack.c b/programs/winedbg/stack.c
index 70a7a11..dd0877e 100644
--- a/programs/winedbg/stack.c
+++ b/programs/winedbg/stack.c
@@ -147,6 +147,10 @@ unsigned stack_fetch_frames(void)
{
STACKFRAME64 sf;
unsigned nf = 0;
+ /* as native stackwalk can modify the context passed to it, simply copy
+ * it to avoid any damage
+ */
+ CONTEXT ctx = dbg_context;
HeapFree(GetProcessHeap(), 0, dbg_curr_thread->frames);
dbg_curr_thread->frames = NULL;
@@ -163,7 +167,7 @@ unsigned stack_fetch_frames(void)
}
while (StackWalk64(IMAGE_FILE_MACHINE_I386, dbg_curr_process->handle,
- dbg_curr_thread->handle, &sf, &dbg_context, stack_read_mem,
+ dbg_curr_thread->handle, &sf, &ctx, stack_read_mem,
SymFunctionTableAccess64, SymGetModuleBase64, NULL))
{
dbg_curr_thread->frames = dbg_heap_realloc(dbg_curr_thread->frames,
More information about the wine-cvs
mailing list