From 7b8ebf0efe0f162406cb30f9bc5234736ed3d36a Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 26 May 2010 10:03:03 -0400 Subject: [PATCH] Fix return value of w32crypto_bytes() and use correct data types --- lib/hcrypto/rand-w32.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/hcrypto/rand-w32.c b/lib/hcrypto/rand-w32.c index a5792d95c..e4d8442f8 100644 --- a/lib/hcrypto/rand-w32.c +++ b/lib/hcrypto/rand-w32.c @@ -48,25 +48,25 @@ volatile static HCRYPTPROV g_cryptprovider = 0; static HCRYPTPROV _hc_CryptProvider(void) { - BOOL res; + BOOL rv; HCRYPTPROV cryptprovider = 0; if (g_cryptprovider != 0) return g_cryptprovider; - res = CryptAcquireContext(&cryptprovider, NULL, + rv = CryptAcquireContext(&cryptprovider, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0); if (GetLastError() == NTE_BAD_KEYSET) { - if(!res) - res = CryptAcquireContext(&cryptprovider, NULL, + if(!rv) + rv = CryptAcquireContext(&cryptprovider, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, CRYPT_NEWKEYSET); } - if (res && - InterlockedCompareExchange(&g_cryptprovider, cryptprovider, 0) != 0) { + if (rv && + InterlockedCompareExchangePointer(&g_cryptprovider, cryptprovider, 0) != 0) { CryptReleaseContext(cryptprovider, 0); cryptprovider = g_cryptprovider; @@ -90,8 +90,8 @@ static int w32crypto_bytes(unsigned char *outdata, int size) { if (CryptGenRandom(_hc_CryptProvider(), size, outdata)) - return 0; - return 1; + return 1; + return 0; } static void