http://bugs.winehq.org/show_bug.cgi?id=17591
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #16 from Anastasius Focht focht@gmx.net 2009-06-06 15:42:31 --- Hello,
I also described the problem of apps passing such data in bug 12405 (WISO Sparbuch 2008). Seems to affect all apps from that german software vendor "Buhl".
Reading MSDN again: http://msdn.microsoft.com/en-us/library/aa388206.aspx
--- quote --- ... hFile
Optional. File handle to the open file to be verified. This handle must be to a file that has at least read permission. This member can be set to NULL.
pgKnownSubject
Optional. Pointer to a GUID structure that specifies the subject type. This member can be set to NULL. --- quote ---
M$ says "Optional" and "can be set".
If you look at the size of the WINTRUST_FILE_INFO structure the app passed in: cbStruct -> 12 bytes. That means the subject GUID member is not included and the "0x2c" ptr data most likely belongs to something different. Maybe the app uses an older format/version of the structures or interpreted "optional" = leave member out of struct size calculation?
Wine's Wintrust needs to handle such cases. Maybe you can use some WVT_* macros like WVT_IS_CBSTRUCT_GT_MEMBEROFFSET to test if members are included or not, I think they were made exactly for this purpose.
Regards