[PATCH] added some error checking on failure to CreateClassEnumerator.

Marcus Meissner marcus at jet.franken.de
Sun Jun 3 05:51:52 CDT 2007


spotted by coverity.

Ciao, Marcus
---
 dlls/quartz/filtermapper.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/quartz/filtermapper.c b/dlls/quartz/filtermapper.c
index 6adce61..082b8a6 100644
--- a/dlls/quartz/filtermapper.c
+++ b/dlls/quartz/filtermapper.c
@@ -962,9 +962,14 @@ static HRESULT WINAPI FilterMapper2_Enum
     *ppEnum = NULL;
 
     hr = CoCreateInstance(&CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC, &IID_ICreateDevEnum, (LPVOID*)&pCreateDevEnum);
+    if (FAILED(hr))
+        return hr;
 
-    if (SUCCEEDED(hr))
-        hr = ICreateDevEnum_CreateClassEnumerator(pCreateDevEnum, &CLSID_ActiveMovieCategories, &pEnumCat, 0);
+    hr = ICreateDevEnum_CreateClassEnumerator(pCreateDevEnum, &CLSID_ActiveMovieCategories, &pEnumCat, 0);
+    if (FAILED(hr)) {
+	ICreateDevEnum_Release(pCreateDevEnum);
+        return hr;
+    }
 
     while (IEnumMoniker_Next(pEnumCat, 1, &pMonikerCat, NULL) == S_OK)
     {
-- 
1.4.3.4



More information about the wine-patches mailing list