[PATCH] ddrawex: Remove superflous NULL checks, add error skips (Coverity)

Marcus Meissner marcus at jet.franken.de
Sun Jun 26 10:08:36 CDT 2011


Hi,

we derefenced those pointers already, so checks are useless.
Check however the create hresults and skip if not present.

Ciao, Marcus
---
 dlls/ddrawex/tests/surface.c |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/dlls/ddrawex/tests/surface.c b/dlls/ddrawex/tests/surface.c
index fb3def9..4dcae02 100644
--- a/dlls/ddrawex/tests/surface.c
+++ b/dlls/ddrawex/tests/surface.c
@@ -422,8 +422,17 @@ START_TEST(surface)
 
     hr = pDllGetClassObject(&CLSID_DirectDrawFactory, &IID_IClassFactory, (void **) &classfactory);
     ok(hr == S_OK, "Failed to create a IClassFactory\n");
+    if (!SUCCEEDED(hr)) {
+        skip("Failed to get DirectDrawFactory\n");
+        return;
+    }
     hr = IClassFactory_CreateInstance(classfactory, NULL, &IID_IDirectDrawFactory, (void **) &factory);
     ok(hr == S_OK, "Failed to create a IDirectDrawFactory\n");
+    if (!SUCCEEDED(hr)) {
+        IClassFactory_Release(classfactory);
+        skip("Failed to get a DirectDrawFactory\n");
+        return;
+    }
 
     GetDCTest();
     CapsTest();
@@ -431,12 +440,8 @@ START_TEST(surface)
     test_surface_from_dc3();
     test_surface_from_dc4();
 
-    if(factory) {
-        ref = IDirectDrawFactory_Release(factory);
-        ok(ref == 0, "IDirectDrawFactory not cleanly released\n");
-    }
-    if(classfactory) {
-        ref = IClassFactory_Release(classfactory);
-        todo_wine ok(ref == 1, "IClassFactory refcount wrong, ref = %u\n", ref);
-    }
+    ref = IDirectDrawFactory_Release(factory);
+    ok(ref == 0, "IDirectDrawFactory not cleanly released\n");
+    ref = IClassFactory_Release(classfactory);
+    todo_wine ok(ref == 1, "IClassFactory refcount wrong, ref = %u\n", ref);
 }
-- 
1.7.3.4




More information about the wine-patches mailing list