CRYPT_ImportSystemRootCertsToReg calls sync_trusted_roots_from_known_locations which calls
check_and_store_certs. check_and_store_certs creates a chain engine with `cached`. Here the problem
is that the chain engine actually owns the store used to create it. And when later the chain engine
is freed, the store is closed too.
This means on the success path `cached` is already closed when
sync_trusted_roots_from_known_locations returns to CRYPT_ImportSystemRootCertsToReg, but
CRYPT_ImportSystemRootCertsToReg tries to close `cached` again.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8180
NdrClientCall() should only be used in 32-bit mode when
Oi or Oic stub optimizations are used. Currently our interpreted
mode targets Oicf mode and other levels are not supported.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v2: include: Add errlup.idl.
widl: Do not write "const" modifiers for _PARAM_STRUCT fields.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8195
--
v4: win32u: Read window dpi_context from the shared memory.
win32u: Pass id and offset separately to find_shared_session_object.
server: Move window dpi_context to the shared memory.
server: Allocate shared memory objects for windows.
server: Fix shared object offset when additional blocks are allocated.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8061
--
v3: win32u: Read window dpi_context from the shared memory.
win32u: Pass id and offset separately to find_shared_session_object.
server: Move window dpi_context to the shared memory.
server: Allocate shared memory objects for windows.
server: Fix shared object offset when additional blocks are allocated.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8061