https://bugs.winehq.org/show_bug.cgi?id=34829
--- Comment #5 from François Gouget fgouget@codeweavers.com --- (In reply to comment #4)
Sure it does, I meant it's not initialized to sizeof(CRYPT_PROVIDER_DATA).
My understanding is that it is initialized to sizeof(CRYPT_PROVIDER_DATA):
From https://stackoverflow.com/questions/10828294/c-and-c-partial-initialization-... --- C99 Standard 6.7.8.21
If there are fewer initializers in a brace-enclosed list than there are elements or members of an aggregate, or fewer characters in a string literal used to initialize an array of known size than there are elements in the array, the remainder of the aggregate shall be initialized implicitly the same as objects that have static storage duration. ---
Objects (aggregates, arrays, etc.) that have static storage duration are always initializaed to all zeroes.
Now we may have trouble if the compiler does not follow the C99 standard but the WineTestBot run I referenced shows that this is not the case here.