Commit e5d09bf3 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: SymSetContext should return FALSE when setting twice the same

frame context.
parent eca3715f
...@@ -338,6 +338,18 @@ BOOL WINAPI SymSetContext(HANDLE hProcess, PIMAGEHLP_STACK_FRAME StackFrame, ...@@ -338,6 +338,18 @@ BOOL WINAPI SymSetContext(HANDLE hProcess, PIMAGEHLP_STACK_FRAME StackFrame,
struct process* pcs = process_find_by_handle(hProcess); struct process* pcs = process_find_by_handle(hProcess);
if (!pcs) return FALSE; if (!pcs) return FALSE;
if (pcs->ctx_frame.ReturnOffset == StackFrame->ReturnOffset &&
pcs->ctx_frame.FrameOffset == StackFrame->FrameOffset &&
pcs->ctx_frame.StackOffset == StackFrame->StackOffset)
{
TRACE("Setting same frame {rtn=%s frm=%s stk=%s}\n",
wine_dbgstr_longlong(pcs->ctx_frame.ReturnOffset),
wine_dbgstr_longlong(pcs->ctx_frame.FrameOffset),
wine_dbgstr_longlong(pcs->ctx_frame.StackOffset));
SetLastError(ERROR_ACCESS_DENIED); /* latest MSDN says ERROR_SUCCESS */
return FALSE;
}
pcs->ctx_frame = *StackFrame; pcs->ctx_frame = *StackFrame;
/* MSDN states that Context is not (no longer?) used */ /* MSDN states that Context is not (no longer?) used */
return TRUE; return TRUE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment