Andrew Talbot : user32: Dangling pointer fix.

Alexandre Julliard julliard at winehq.org
Wed Jun 18 12:57:48 CDT 2008


Module: wine
Branch: master
Commit: aceb12265fd4043882ec010cd82def79feced9f7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=aceb12265fd4043882ec010cd82def79feced9f7

Author: Andrew Talbot <andrew.talbot at talbotville.com>
Date:   Tue Jun 17 21:21:55 2008 +0100

user32: Dangling pointer fix.

---

 dlls/user32/dde_misc.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

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-cvs mailing list