Commit 8b4d5e6e authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: Improve error handling in SymSetContext().

parent 76c4e691
...@@ -609,6 +609,8 @@ BOOL WINAPI SymSetContext(HANDLE hProcess, PIMAGEHLP_STACK_FRAME StackFrame, ...@@ -609,6 +609,8 @@ 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 (!module_find_by_addr(pcs, StackFrame->InstructionOffset, DMT_UNKNOWN))
return FALSE;
if (pcs->ctx_frame.ReturnOffset == StackFrame->ReturnOffset && if (pcs->ctx_frame.ReturnOffset == StackFrame->ReturnOffset &&
pcs->ctx_frame.FrameOffset == StackFrame->FrameOffset && pcs->ctx_frame.FrameOffset == StackFrame->FrameOffset &&
pcs->ctx_frame.StackOffset == StackFrame->StackOffset) pcs->ctx_frame.StackOffset == StackFrame->StackOffset)
...@@ -618,12 +620,12 @@ BOOL WINAPI SymSetContext(HANDLE hProcess, PIMAGEHLP_STACK_FRAME StackFrame, ...@@ -618,12 +620,12 @@ BOOL WINAPI SymSetContext(HANDLE hProcess, PIMAGEHLP_STACK_FRAME StackFrame,
pcs->ctx_frame.FrameOffset, pcs->ctx_frame.FrameOffset,
pcs->ctx_frame.StackOffset); pcs->ctx_frame.StackOffset);
pcs->ctx_frame.InstructionOffset = StackFrame->InstructionOffset; pcs->ctx_frame.InstructionOffset = StackFrame->InstructionOffset;
SetLastError(ERROR_ACCESS_DENIED); /* latest MSDN says ERROR_SUCCESS */ SetLastError(ERROR_SUCCESS);
return FALSE; return FALSE;
} }
pcs->ctx_frame = *StackFrame; pcs->ctx_frame = *StackFrame;
/* MSDN states that Context is not (no longer?) used */ /* 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