From: Hans Leidekker hans@codeweavers.com
--- dlls/appwiz.cpl/addons.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-)
diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c index a59002259dc..88a830de2eb 100644 --- a/dlls/appwiz.cpl/addons.c +++ b/dlls/appwiz.cpl/addons.c @@ -119,7 +119,6 @@ static BOOL sha_check(const WCHAR *file_name) const unsigned char *file_map; HANDLE file, map; DWORD size, i; - BCRYPT_HASH_HANDLE hash = NULL; UCHAR sha[32]; char buf[1024]; BOOL ret = FALSE; @@ -142,23 +141,16 @@ static BOOL sha_check(const WCHAR *file_name) if(!file_map) return FALSE;
- if(BCryptCreateHash(BCRYPT_SHA256_ALG_HANDLE, &hash, NULL, 0, NULL, 0, 0)) - goto end; - if(BCryptHashData(hash, (UCHAR *)file_map, size, 0)) - goto end; - if(BCryptFinishHash(hash, sha, sizeof(sha), 0)) - goto end; + if(!BCryptHash(BCRYPT_SHA256_ALG_HANDLE, NULL, 0, (UCHAR *)file_map, size, sha, sizeof(sha))) { + for(i=0; i < sizeof(sha); i++) + sprintf(buf + i * 2, "%02x", sha[i]);
- for(i=0; i < sizeof(sha); i++) - sprintf(buf + i * 2, "%02x", sha[i]); - - ret = !strcmp(buf, addon->sha); - if(!ret) - WARN("Got %s, expected %s\n", buf, addon->sha); + ret = !strcmp(buf, addon->sha); + if(!ret) + WARN("Got %s, expected %s\n", buf, addon->sha); + }
-end: UnmapViewOfFile(file_map); - if(hash) BCryptDestroyHash(hash); return ret; }