On Sat, Dec 25, 2021 at 1:34 PM Nikolay Sivov nsivov@codeweavers.com wrote:
But anyway, do you have any idea why application would care? Is it some statically linked code depending on it, or some native module bundled or installed separately?
Well, the programs (also WinRT) from the Wine-bug suffer from the same issue, which to me looks like is caused by the misarranged struct, which I changed in this patch. They try to dereference the flags + length field, which causes a crash or invalid data to be read. I actually don't know why it worked in Wine before. Maybe by luck? (Also: The code that arranges the HSTRING struct members in memory this way, is compiled into the binary from the WinRT headers)
Which headers in particular? I'd like to read through that, maybe we can easily match it.
From WinRT the base.h file. On Windows they are installed in
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt\winrt