http://bugs.winehq.org/show_bug.cgi?id=7461
------- Additional Comments From truiken@gmail.com 2007-23-02 14:33 ------- That patch isn't correct in all cases, so I'm going to wait for Mike to see what he wants to do with this. The problem is that the custom action code assumes that DllThread will be executed (after the call to CreateThread(DllThread, info)) before we release info, which doesn't always happen, leaving us with a dangling pointer. The pseudocode goes something like this:
function DllThread(info) { // use info to call custom action }
...
function callCustomAction() { CreateThread(DllThread, info); delete_info(info); }