wintrust: Test find handles against INVALID_HANDLE_VALUE.
authorHans Leidekker <hans@codeweavers.com>
Tue, 23 Dec 2008 10:50:26 +0000 (11:50 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 23 Dec 2008 17:51:30 +0000 (18:51 +0100)
Spotted by Michael Stefaniuc.

dlls/wintrust/crypt.c

index 4055c55a2b8f232890e9486f3327aaa6520e3ebb..6a162541f7c245cc4c01a534ff6c94528df4b2a5 100644 (file)
@@ -139,7 +139,7 @@ BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN *catAdmin,
     CreateDirectoryW(ca->path, NULL);
 
     ca->magic = CATADMIN_MAGIC;
-    ca->find = NULL;
+    ca->find = INVALID_HANDLE_VALUE;
 
     *catAdmin = ca;
     return TRUE;
@@ -304,11 +304,11 @@ HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN hCatAdmin, BYTE* pbHa
         strcpyW(path, ca->path);
         strcatW(path, globW);
 
-        if (ca->find) FindClose(ca->find);
+        FindClose(ca->find);
         ca->find = FindFirstFileW(path, &data);
 
         HeapFree(GetProcessHeap(), 0, path);
-        if (!ca->find)
+        if (ca->find == INVALID_HANDLE_VALUE)
         {
             CryptReleaseContext(prov, 0);
             return NULL;
@@ -360,7 +360,7 @@ HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN hCatAdmin, BYTE* pbHa
                 if (!phPrevCatInfo)
                 {
                     FindClose(ca->find);
-                    ca->find = NULL;
+                    ca->find = INVALID_HANDLE_VALUE;
                 }
                 ci = create_catinfo(filename);
                 HeapFree(GetProcessHeap(), 0, filename);
@@ -373,7 +373,7 @@ HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN hCatAdmin, BYTE* pbHa
         if (!FindNextFileW(ca->find, &data))
         {
             FindClose(ca->find);
-            ca->find = NULL;
+            ca->find = INVALID_HANDLE_VALUE;
             CryptReleaseContext(prov, 0);
             return NULL;
         }
@@ -439,7 +439,7 @@ BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN hCatAdmin, DWORD dwFlags )
         SetLastError(ERROR_INVALID_PARAMETER);
         return FALSE;
     }
-    if (ca->find) FindClose(ca->find);
+    if (ca->find != INVALID_HANDLE_VALUE) FindClose(ca->find);
     ca->magic = 0;
     return HeapFree(GetProcessHeap(), 0, ca);
 }