mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 01:13:38 +00:00
[win32k]
- In FNID_SENDMESSAGECALLBACK use SEH before accesing the user-mode buffer svn path=/trunk/; revision=49962
This commit is contained in:
parent
3e169e3cb2
commit
a38b059ca1
|
@ -2175,14 +2175,23 @@ NtUserMessageCall( HWND hWnd,
|
|||
break;
|
||||
case FNID_SENDMESSAGECALLBACK:
|
||||
{
|
||||
PCALL_BACK_INFO CallBackInfo = (PCALL_BACK_INFO)ResultInfo;
|
||||
CALL_BACK_INFO CallBackInfo;
|
||||
ULONG_PTR uResult;
|
||||
|
||||
if (!CallBackInfo)
|
||||
break;
|
||||
_SEH2_TRY
|
||||
{
|
||||
ProbeForRead((PVOID)ResultInfo, sizeof(CALL_BACK_INFO), 1);
|
||||
RtlCopyMemory(&CallBackInfo, (PVOID)ResultInfo, sizeof(CALL_BACK_INFO));
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Ret = FALSE;
|
||||
_SEH2_YIELD(break);
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
if (!co_IntSendMessageWithCallBack(hWnd, Msg, wParam, lParam,
|
||||
CallBackInfo->CallBack, CallBackInfo->Context, &uResult))
|
||||
CallBackInfo.CallBack, CallBackInfo.Context, &uResult))
|
||||
{
|
||||
DPRINT1("Callback failure!\n");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue