[PATCH] shell32: remove superflous NULL check (Coverity)

Marcus Meissner marcus at jet.franken.de
Sun Jun 26 09:30:55 CDT 2011


Hi,

remove a superflous NULL check, as we derefence this earlier.
But instead check if SHGetDesktopFolder returned success
and handle if not.

Also add a Release of the desktopfolder in the other test.

CID 2019

Ciao, Marcus
---
 dlls/shell32/tests/brsfolder.c |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/dlls/shell32/tests/brsfolder.c b/dlls/shell32/tests/brsfolder.c
index b7f920d..c3e9d3c 100644
--- a/dlls/shell32/tests/brsfolder.c
+++ b/dlls/shell32/tests/brsfolder.c
@@ -149,7 +149,7 @@ static int CALLBACK create_new_folder_callback(HWND hwnd, UINT uMsg,
  */
 static void test_click_make_new_folder_button(void)
 {
-    HRESULT resCoInit;
+    HRESULT resCoInit, hr;
     BROWSEINFO bi;
     LPITEMIDLIST pidl = NULL;
     LPITEMIDLIST test_folder_pidl;
@@ -202,7 +202,12 @@ static void test_click_make_new_folder_button(void)
     /* Use test folder as the root folder for dialog box */
     MultiByteToWideChar(CP_UTF8, 0, test_folder_path, MAX_PATH,
         test_folder_pathW, MAX_PATH);
-    SHGetDesktopFolder(&test_folder_object);
+    hr = SHGetDesktopFolder(&test_folder_object);
+    ok (SUCCEEDED(hr), "SHGetDesktopFolder failed with hr 0x%08x\n", hr);
+    if (!SUCCEEDED(hr)) {
+        skip("SHGetDesktopFolder failed - skipping\n");
+        return;
+    }
     test_folder_object->lpVtbl->ParseDisplayName(test_folder_object, NULL, NULL,
         test_folder_pathW, 0UL, &test_folder_pidl, 0UL);
     bi.pidlRoot = test_folder_pidl;
@@ -243,8 +248,7 @@ static void test_click_make_new_folder_button(void)
         CoTaskMemFree(pidl);
     if (test_folder_pidl)
         CoTaskMemFree(test_folder_pidl);
-    if (test_folder_object)
-        test_folder_object->lpVtbl->Release(test_folder_object);
+    test_folder_object->lpVtbl->Release(test_folder_object);
 
     CoUninitialize();
 }
@@ -300,7 +304,7 @@ static int CALLBACK selection_callback(HWND hwnd, UINT uMsg, LPARAM lParam, LPAR
 
 static void test_selection(void)
 {
-    HRESULT resCoInit;
+    HRESULT resCoInit, hr;
     BROWSEINFO bi;
     LPITEMIDLIST pidl = NULL;
     IShellFolder *desktop_object;
@@ -325,7 +329,12 @@ static void test_selection(void)
     bi.lpszTitle = (LPTSTR) title;
     bi.lpfn = selection_callback;
 
-    SHGetDesktopFolder(&desktop_object);
+    hr = SHGetDesktopFolder(&desktop_object);
+    ok (SUCCEEDED(hr), "SHGetDesktopFolder failed with hr 0x%08x\n", hr);
+    if (!SUCCEEDED(hr)) {
+        skip("SHGetDesktopFolder failed - skipping\n");
+        return;
+    }
     desktop_object->lpVtbl->ParseDisplayName(desktop_object, NULL, NULL,
         selected_folderW, 0UL, &selected_folder_pidl, 0UL);
     bi.pidlRoot = selected_folder_pidl;
@@ -344,6 +353,8 @@ static void test_selection(void)
     if (pidl)
         CoTaskMemFree(pidl);
 
+    desktop_object->lpVtbl->Release(desktop_object);
+
     CoUninitialize();
 }
 
-- 
1.7.3.4




More information about the wine-patches mailing list