s3: Fix Coverity ID 242702 Dereference before null check
authorVolker Lendecke <vl@samba.org>
Wed, 9 May 2012 07:16:54 +0000 (09:16 +0200)
committerVolker Lendecke <vl@samba.org>
Thu, 10 May 2012 07:11:56 +0000 (09:11 +0200)
winreg_printer_openkey above already dereferences winreg_handle

source3/rpc_client/cli_winreg_spoolss.c

index bf69bf1c90d65c5a716dd1e0b872ba6452198e74..96de05a233d6a9b6eada94257e2857bf76c289de 100644 (file)
@@ -2118,6 +2118,7 @@ WERROR winreg_enum_printer_dataex(TALLOC_CTX *mem_ctx,
        uint32_t num_values = 0;
        char *path;
        WERROR result = WERR_OK;
+       WERROR ignore;
        NTSTATUS status;
        const char **enum_names = NULL;
        enum winreg_Type *enum_types = NULL;
@@ -2198,15 +2199,11 @@ WERROR winreg_enum_printer_dataex(TALLOC_CTX *mem_ctx,
 
        result = WERR_OK;
 done:
-       if (winreg_handle != NULL) {
-               WERROR ignore;
-
-               if (is_valid_policy_hnd(&key_hnd)) {
-                       dcerpc_winreg_CloseKey(winreg_handle, tmp_ctx, &key_hnd, &ignore);
-               }
-               if (is_valid_policy_hnd(&hive_hnd)) {
-                       dcerpc_winreg_CloseKey(winreg_handle, tmp_ctx, &hive_hnd, &ignore);
-               }
+       if (is_valid_policy_hnd(&key_hnd)) {
+               dcerpc_winreg_CloseKey(winreg_handle, tmp_ctx, &key_hnd, &ignore);
+       }
+       if (is_valid_policy_hnd(&hive_hnd)) {
+               dcerpc_winreg_CloseKey(winreg_handle, tmp_ctx, &hive_hnd, &ignore);
        }
 
        TALLOC_FREE(tmp_ctx);