mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 04:36:40 +00:00
[WIN32K]
- Move call to UserRegisterClass out of SEH. All parameters are kernel pointers, so exceptions here are critical kernel bugs that shouldn't be hidden. CORE-8702 #resolve svn path=/trunk/; revision=64964
This commit is contained in:
parent
f54eb842d6
commit
2c1be02837
1 changed files with 16 additions and 11 deletions
|
@ -2445,6 +2445,7 @@ NtUserRegisterClassExWOW(
|
||||||
UNICODE_STRING CapturedName = {0}, CapturedMenuName = {0};
|
UNICODE_STRING CapturedName = {0}, CapturedMenuName = {0};
|
||||||
RTL_ATOM Ret = (RTL_ATOM)0;
|
RTL_ATOM Ret = (RTL_ATOM)0;
|
||||||
PPROCESSINFO ppi = GetW32ProcessInfo();
|
PPROCESSINFO ppi = GetW32ProcessInfo();
|
||||||
|
BOOL Exception = FALSE;
|
||||||
|
|
||||||
if (Flags & ~(CSF_ANSIPROC))
|
if (Flags & ~(CSF_ANSIPROC))
|
||||||
{
|
{
|
||||||
|
@ -2536,7 +2537,17 @@ InvalidParameter:
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE("NtUserRegisterClassExWOW MnuN %wZ\n",&CapturedMenuName);
|
TRACE("NtUserRegisterClassExWOW MnuN %wZ\n",&CapturedMenuName);
|
||||||
|
}
|
||||||
|
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
ERR("NtUserRegisterClassExWOW Exception Error!\n");
|
||||||
|
SetLastNtError(_SEH2_GetExceptionCode());
|
||||||
|
Exception = TRUE;
|
||||||
|
}
|
||||||
|
_SEH2_END;
|
||||||
|
|
||||||
|
if (!Exception)
|
||||||
|
{
|
||||||
/* Register the class */
|
/* Register the class */
|
||||||
Ret = UserRegisterClass(&CapturedClassInfo,
|
Ret = UserRegisterClass(&CapturedClassInfo,
|
||||||
&CapturedName,
|
&CapturedName,
|
||||||
|
@ -2544,18 +2555,12 @@ InvalidParameter:
|
||||||
fnID,
|
fnID,
|
||||||
Flags);
|
Flags);
|
||||||
}
|
}
|
||||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
|
||||||
{
|
|
||||||
ERR("NtUserRegisterClassExWOW Exception Error!\n");
|
|
||||||
SetLastNtError(_SEH2_GetExceptionCode());
|
|
||||||
}
|
|
||||||
_SEH2_END;
|
|
||||||
/*
|
|
||||||
if (!Ret)
|
if (!Ret)
|
||||||
{
|
{
|
||||||
ERR("NtUserRegisterClassExWOW Null Return!\n");
|
TRACE("NtUserRegisterClassExWOW Null Return!\n");
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
UserLeave();
|
UserLeave();
|
||||||
|
|
||||||
return Ret;
|
return Ret;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue