itss: Reorder some code to avoid leaking memory on an error path.
Michael Stefaniuc
mstefani at redhat.de
Tue Feb 9 16:01:26 CST 2010
Found by Smatch.
---
dlls/itss/storage.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/itss/storage.c b/dlls/itss/storage.c
index fa92c4f..79c863a 100644
--- a/dlls/itss/storage.c
+++ b/dlls/itss/storage.c
@@ -399,6 +399,10 @@ static HRESULT WINAPI ITSS_IStorageImpl_OpenStorage(
TRACE("%p %s %p %u %p %u %p\n", This, debugstr_w(pwcsName),
pstgPriority, grfMode, snbExclude, reserved, ppstg);
+ chmfile = chm_dup( This->chmfile );
+ if( !chmfile )
+ return E_FAIL;
+
len = strlenW( This->dir ) + strlenW( pwcsName ) + 1;
path = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
strcpyW( path, This->dir );
@@ -423,9 +427,6 @@ static HRESULT WINAPI ITSS_IStorageImpl_OpenStorage(
TRACE("Resolving %s\n", debugstr_w(path));
- chmfile = chm_dup( This->chmfile );
- if( !chmfile )
- return E_FAIL;
return ITSS_create_chm_storage(chmfile, path, ppstg);
}
--
1.6.6.1
More information about the wine-patches
mailing list