Huw Davies : imagehlp: Add support for the indices array passed to ImageEnumerateCertificates.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Apr 13 06:50:27 CDT 2007


Module: wine
Branch: master
Commit: ddb564bfe243b32a534595a2e38364012fc7b967
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ddb564bfe243b32a534595a2e38364012fc7b967

Author: Huw Davies <huw at codeweavers.com>
Date:   Fri Apr 13 12:02:47 2007 +0100

imagehlp: Add support for the indices array passed to ImageEnumerateCertificates.

---

 dlls/imagehlp/integrity.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/dlls/imagehlp/integrity.c b/dlls/imagehlp/integrity.c
index b3b8e66..99608b7 100644
--- a/dlls/imagehlp/integrity.c
+++ b/dlls/imagehlp/integrity.c
@@ -161,7 +161,7 @@ BOOL WINAPI ImageEnumerateCertificates(
     HANDLE handle, WORD TypeFilter, PDWORD CertificateCount,
     PDWORD Indices, DWORD IndexCount)
 {
-    DWORD size, count, offset, sd_VirtualAddr;
+    DWORD size, count, offset, sd_VirtualAddr, index;
     WIN_CERTIFICATE hdr;
     const size_t cert_hdr_size = sizeof hdr - sizeof hdr.bCertificate;
     BOOL r;
@@ -169,17 +169,12 @@ BOOL WINAPI ImageEnumerateCertificates(
     TRACE("%p %hd %p %p %d\n",
            handle, TypeFilter, CertificateCount, Indices, IndexCount);
 
-    if( Indices )
-    {
-        FIXME("Indices not handled!\n");
-        return FALSE;
-    }
-
     r = IMAGEHLP_GetSecurityDirOffset( handle, &sd_VirtualAddr, &size );
     if( !r )
         return FALSE;
 
     offset = 0;
+    index = 0;
     *CertificateCount = 0;
     while( offset < size )
     {
@@ -207,10 +202,13 @@ BOOL WINAPI ImageEnumerateCertificates(
             (TypeFilter == hdr.wCertificateType) )
         {
             (*CertificateCount)++;
+            if(Indices && *CertificateCount <= IndexCount)
+                *Indices++ = index;
         }
 
         /* next certificate */
         offset += hdr.dwLength;
+        index++;
     }
 
     return TRUE;




More information about the wine-cvs mailing list