engine: client: cl_securedstub: fix strict aliasing in secured module initializing

This commit is contained in:
Alibek Omarov 2023-03-13 04:03:26 +03:00
parent d4610e30fd
commit fec3d33dcf

View File

@ -405,12 +405,15 @@ static cldll_func_dst_t cldllFuncDst =
void CL_GetSecuredClientAPI( CL_EXPORT_FUNCS F ) void CL_GetSecuredClientAPI( CL_EXPORT_FUNCS F )
{ {
cldll_func_src_t cldllFuncSrc = { 0 };
modfuncs_t modFuncs = { 0 }; modfuncs_t modFuncs = { 0 };
// secured client dlls need these // secured client dlls need these
*(cldll_func_dst_t **)&cldllFuncSrc.pfnVidInit = &cldllFuncDst; cldll_func_src_t cldllFuncSrc =
*(modfuncs_t **)&cldllFuncSrc.pfnInitialize = &modFuncs; {
(void *)&modFuncs,
NULL,
(void *)&cldllFuncDst
};
// trying to fill interface now // trying to fill interface now
F( &cldllFuncSrc ); F( &cldllFuncSrc );