http://bugs.winehq.org/show_bug.cgi?id=11973
--- Comment #16 from Rhys McGuckin rhysmcguckin@yahoo.com.au 2008-04-13 13:31:45 --- Since I won't be able to get access to it for at least a week, I'm doing what I can off the web source, and from memory.
The function is WINTRUST_DefaultClose() in wintrust_main.c.
152 if (provData) 153 { if (provData->psPfns->pfnCleanupPolicy) { 154 err = provData->psPfns->pfnCleanupPolicy(provData); } 155 WINTRUST_Free(provData->padwTrustStepErrors); 156 WINTRUST_Free(provData->u.pPDSip); 157 WINTRUST_Free(provData->psPfns); 158 WINTRUST_Free(provData); 159 data->hWVTStateData = NULL; 160 }
The problem with this, is it ignores WHY the cleanup policy pointer is null.
This allowed the DungeonRunners Launcher (which uses .NET 2.0) to run into the problem of missing DLL files (I'm not sure why it couldn't even find the native ones): iphlpapi.dll, imm32.dll, lz32.dll and l_intl.nls. This then got to the point where it died due to unimplemented RAS socket functions.