In kernel32/tests/loader.c, child_process will try to write to stdout after
calling LdrShutdownProcess. LdrShutdownProcess calls DLL_PROCESS_DETACH on
msvcrt, which calls msvcrt_free_io, which frees the ioinfo blocks. So to
prevent use after free in this case, we keep the ioinfos for stdin/out/err
static.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8273
IWinInetHttpInfo_QueryInfo returns a multibyte string, not a wide string. We
were also wrongly expecting it to have a NUL terminator.
* * *
this one doesn't feel good. IWinInetHttpInfo_QueryInfo calls HttpInfo_QueryInfo (urlmon), which calls HttpQueryInfoA (wininet), so it returns char*. but inside, HttpQueryInfoA is calling HttpQueryInfoW and does charset conversion. so we are converting the string to multibyte and back.
maybe there's an API that returns wchar* i don't know about.
--
v2: mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8228
All unicode API functions are supposed to support paths longer than `MAX_PATH` if prepended with the extended-path prefix `\\?\`. As of writing this function in particular doesn't.
This is causing problems with Unreal Engine shader preprocessing when running under Wine.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8285
--
v2: kerberos: When requested confidentiality InitializeSecurityContext() should also add integrity.
kerberos: EncryptMessage() should fail if context doesn't support confidentiality.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8272