Module: wine Branch: master Commit: dbf995a8b4b60dbbc2832c7865151ea884f4eb3c URL: http://source.winehq.org/git/wine.git/?a=commit;h=dbf995a8b4b60dbbc2832c7865... Author: Andrew Talbot <andrew.talbot(a)talbotville.com> Date: Fri Oct 5 21:52:08 2007 +0100 urlmon: Fix some memory leaks. --- dlls/urlmon/sec_mgr.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/dlls/urlmon/sec_mgr.c b/dlls/urlmon/sec_mgr.c index 52e29b6..6330906 100644 --- a/dlls/urlmon/sec_mgr.c +++ b/dlls/urlmon/sec_mgr.c @@ -318,6 +318,8 @@ static HRESULT WINAPI SecManagerImpl_GetSecurityId(IInternetSecurityManager *ifa static const BYTE secidFile[] = {'f','i','l','e',':'}; + HeapFree(GetProcessHeap(), 0, buf); + if(*pcbSecurityId < sizeof(secidFile)+sizeof(zone)) return HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER); @@ -341,8 +343,10 @@ static HRESULT WINAPI SecManagerImpl_GetSecurityId(IInternetSecurityManager *ifa len = WideCharToMultiByte(CP_ACP, 0, buf, -1, NULL, 0, NULL, NULL)-1; - if(len+sizeof(DWORD) > *pcbSecurityId) + if(len+sizeof(DWORD) > *pcbSecurityId) { + HeapFree(GetProcessHeap(), 0, buf); return HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER); + } WideCharToMultiByte(CP_ACP, 0, buf, -1, (LPSTR)pbSecurityId, -1, NULL, NULL); HeapFree(GetProcessHeap(), 0, buf);