Module: wine Branch: master Commit: f566f38e2fd85f05f1291d7b6154440887c15a70 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f566f38e2fd85f05f1291d7b61...
Author: Pierre Schweitzer pierre@reactos.org Date: Tue Dec 6 21:53:20 2011 +0100
msctf: Fix memory leaks.
---
dlls/msctf/context.c | 3 +++ dlls/msctf/inputprocessor.c | 6 ++++++ 2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/msctf/context.c b/dlls/msctf/context.c index fbd7229..c013cf9 100644 --- a/dlls/msctf/context.c +++ b/dlls/msctf/context.c @@ -1013,7 +1013,10 @@ static HRESULT WINAPI TextStoreACPSink_OnLockGranted(ITextStoreACPSink *iface,
sinkcookie = HeapAlloc(GetProcessHeap(),0,sizeof(EditCookie)); if (!sinkcookie) + { + HeapFree(GetProcessHeap(), 0, cookie); return E_OUTOFMEMORY; + }
cookie->lockType = dwLockFlags; cookie->pOwningContext = This->pContext; diff --git a/dlls/msctf/inputprocessor.c b/dlls/msctf/inputprocessor.c index 62b93c6..5242f14 100644 --- a/dlls/msctf/inputprocessor.c +++ b/dlls/msctf/inputprocessor.c @@ -924,7 +924,10 @@ static HRESULT ProfilesEnumGuid_Constructor(IEnumGUID **ppOut)
if (RegCreateKeyExW(HKEY_LOCAL_MACHINE, szwSystemTIPKey, 0, NULL, 0, KEY_READ | KEY_WRITE, NULL, &This->key, NULL) != ERROR_SUCCESS) + { + HeapFree(GetProcessHeap(), 0, This); return E_FAIL; + }
TRACE("returning %p\n", This); *ppOut = (IEnumGUID*)This; @@ -1161,7 +1164,10 @@ static HRESULT EnumTfLanguageProfiles_Constructor(LANGID langid, IEnumTfLanguage
if (RegCreateKeyExW(HKEY_LOCAL_MACHINE, szwSystemTIPKey, 0, NULL, 0, KEY_READ | KEY_WRITE, NULL, &This->tipkey, NULL) != ERROR_SUCCESS) + { + HeapFree(GetProcessHeap(), 0, This); return E_FAIL; + }
TRACE("returning %p\n", This); *ppOut = (IEnumTfLanguageProfiles*)This;