user32: Dangling pointer fix
Andrew Talbot
andrew.talbot at talbotville.com
Tue Jun 17 15:21:55 CDT 2008
Changelog:
user32: Dangling pointer fix.
diff --git a/dlls/user32/dde_misc.c b/dlls/user32/dde_misc.c
index 9061836..049deae 100644
--- a/dlls/user32/dde_misc.c
+++ b/dlls/user32/dde_misc.c
@@ -515,7 +515,6 @@ UINT WDML_Initialize(LPDWORD pidInst, PFNCALLBACK pfnCallback,
ret = DMLERR_INVALIDPARAMETER;
goto theError;
}
- HeapFree(GetProcessHeap(), 0, pInstance); /* finished - release heap space used as work store */
/* can't reinitialise if we have initialised nothing !! */
reference_inst = WDML_InstanceList;
/* must first check if we have been given a valid instance to re-initialise !! how do we do that ? */
@@ -571,6 +570,9 @@ UINT WDML_Initialize(LPDWORD pidInst, PFNCALLBACK pfnCallback,
reference_inst->CBFflags = pInstance->CBFflags;
reference_inst->clientOnly = pInstance->clientOnly;
reference_inst->monitorFlags = pInstance->monitorFlags;
+
+ HeapFree(GetProcessHeap(), 0, pInstance); /* finished - release heap space used as work store */
+
LeaveCriticalSection(&WDML_CritSect);
}
More information about the wine-patches
mailing list