[PATCH] quartz: free wszPatternString (Coverity)
Marcus Meissner
marcus at jet.franken.de
Thu Mar 14 16:11:47 CDT 2013
wszPatternString was not freed in multiple exit paths.
CID 989103
Ciao, Marcus
---
dlls/quartz/filesource.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c
index 95e146d..aee6d97 100644
--- a/dlls/quartz/filesource.c
+++ b/dlls/quartz/filesource.c
@@ -335,12 +335,15 @@ HRESULT GetClassMediaFile(IAsyncReader * pReader, LPCOLESTR pszFileName, GUID *
break;
}
- if (strcmpW(wszValueName, source_filter_name)==0)
+ if (strcmpW(wszValueName, source_filter_name)==0) {
+ HeapFree(GetProcessHeap(), 0, wszPatternString);
continue;
+ }
/* if it is not the source filter value */
if (process_pattern_string(wszPatternString, pReader) == S_OK)
{
+ HeapFree(GetProcessHeap(), 0, wszPatternString);
if (majorType && FAILED(CLSIDFromString(wszMajorKeyName, majorType)))
break;
if (minorType && FAILED(CLSIDFromString(wszMinorKeyName, minorType)))
@@ -354,8 +357,8 @@ HRESULT GetClassMediaFile(IAsyncReader * pReader, LPCOLESTR pszFileName, GUID *
break;
}
bFound = TRUE;
- }
- HeapFree(GetProcessHeap(), 0, wszPatternString);
+ } else
+ HeapFree(GetProcessHeap(), 0, wszPatternString);
}
CloseHandle(hkeyMinor);
}
--
1.7.10.4
More information about the wine-patches
mailing list