Module: wine Branch: master Commit: bce23d7edbc83e5a5170f2f9d46fbb801c8750d7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bce23d7edbc83e5a5170f2f9d4...
Author: Huw Davies huw@codeweavers.com Date: Mon Jul 21 11:15:49 2008 +0100
user32: Don't access pConv after it's been freed.
---
dlls/user32/dde_misc.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/dde_misc.c b/dlls/user32/dde_misc.c index 049deae..d99cdcf 100644 --- a/dlls/user32/dde_misc.c +++ b/dlls/user32/dde_misc.c @@ -1658,9 +1658,10 @@ void WDML_RemoveServer(WDML_INSTANCE* pInstance, HSZ hszService, HSZ hszTopic) pConvNext = pConv->next; if (DdeCmpStringHandles(pConv->hszService, hszService) == 0) { + HWND client = pConv->hwndClient, server = pConv->hwndServer; WDML_RemoveConv(pConv, WDML_SERVER_SIDE); /* don't care about return code (whether client window is present or not) */ - PostMessageW(pConv->hwndClient, WM_DDE_TERMINATE, (WPARAM)pConv->hwndServer, 0); + PostMessageW(client, WM_DDE_TERMINATE, (WPARAM)server, 0); } } if (pServer == pInstance->servers)