[PATCH] bcrypt: Use the global memory allocation helpers.

Hans Leidekker hans at codeweavers.com
Tue Feb 20 05:06:07 CST 2018


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 dlls/bcrypt/bcrypt_main.c | 37 +++++++++++++++++++------------------
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
index c064b63752..72b5df225a 100644
--- a/dlls/bcrypt/bcrypt_main.c
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -39,6 +39,7 @@
 #include "bcrypt_internal.h"
 
 #include "wine/debug.h"
+#include "wine/heap.h"
 #include "wine/library.h"
 #include "wine/unicode.h"
 
@@ -294,7 +295,7 @@ NTSTATUS WINAPI BCryptOpenAlgorithmProvider( BCRYPT_ALG_HANDLE *handle, LPCWSTR
         return STATUS_NOT_IMPLEMENTED;
     }
 
-    if (!(alg = HeapAlloc( GetProcessHeap(), 0, sizeof(*alg) ))) return STATUS_NO_MEMORY;
+    if (!(alg = heap_alloc( sizeof(*alg) ))) return STATUS_NO_MEMORY;
     alg->hdr.magic = MAGIC_ALG;
     alg->id        = alg_id;
     alg->hmac      = flags & BCRYPT_ALG_HANDLE_HMAC_FLAG;
@@ -310,7 +311,7 @@ NTSTATUS WINAPI BCryptCloseAlgorithmProvider( BCRYPT_ALG_HANDLE handle, DWORD fl
     TRACE( "%p, %08x\n", handle, flags );
 
     if (!alg || alg->hdr.magic != MAGIC_ALG) return STATUS_INVALID_HANDLE;
-    HeapFree( GetProcessHeap(), 0, alg );
+    heap_free( alg );
     return STATUS_SUCCESS;
 }
 
@@ -630,7 +631,7 @@ NTSTATUS WINAPI BCryptCreateHash( BCRYPT_ALG_HANDLE algorithm, BCRYPT_HASH_HANDL
     if (!alg || alg->hdr.magic != MAGIC_ALG) return STATUS_INVALID_HANDLE;
     if (object) FIXME( "ignoring object buffer\n" );
 
-    if (!(hash = HeapAlloc( GetProcessHeap(), 0, sizeof(*hash) ))) return STATUS_NO_MEMORY;
+    if (!(hash = heap_alloc( sizeof(*hash) ))) return STATUS_NO_MEMORY;
     hash->hdr.magic = MAGIC_HASH;
     hash->alg_id    = alg->id;
     hash->hmac      = alg->hmac;
@@ -662,7 +663,7 @@ NTSTATUS WINAPI BCryptCreateHash( BCRYPT_ALG_HANDLE algorithm, BCRYPT_HASH_HANDL
 end:
     if (status != STATUS_SUCCESS)
     {
-        HeapFree( GetProcessHeap(), 0, hash );
+        heap_free( hash );
         return status;
     }
 
@@ -682,7 +683,7 @@ NTSTATUS WINAPI BCryptDuplicateHash( BCRYPT_HASH_HANDLE handle, BCRYPT_HASH_HAND
     if (!handle_copy) return STATUS_INVALID_PARAMETER;
     if (object) FIXME( "ignoring object buffer\n" );
 
-    if (!(hash_copy = HeapAlloc( GetProcessHeap(), 0, sizeof(*hash_copy) )))
+    if (!(hash_copy = heap_alloc( sizeof(*hash_copy) )))
         return STATUS_NO_MEMORY;
 
     memcpy( hash_copy, hash_orig, sizeof(*hash_orig) );
@@ -698,7 +699,7 @@ NTSTATUS WINAPI BCryptDestroyHash( BCRYPT_HASH_HANDLE handle )
     TRACE( "%p\n", handle );
 
     if (!hash || hash->hdr.magic != MAGIC_HASH) return STATUS_INVALID_HANDLE;
-    HeapFree( GetProcessHeap(), 0, hash );
+    heap_free( hash );
     return STATUS_SUCCESS;
 }
 
@@ -804,7 +805,7 @@ static NTSTATUS key_init( struct key *key, enum alg_id id, const UCHAR *secret,
     }
 
     if (!(key->block_size = get_block_size( id ))) return STATUS_INVALID_PARAMETER;
-    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, secret_len ))) return STATUS_NO_MEMORY;
+    if (!(buffer = heap_alloc( secret_len ))) return STATUS_NO_MEMORY;
     memcpy( buffer, secret, secret_len );
 
     key->alg_id     = id;
@@ -892,8 +893,8 @@ static NTSTATUS key_decrypt( struct key *key, const UCHAR *input, ULONG input_le
 static NTSTATUS key_destroy( struct key *key )
 {
     if (key->handle) pgnutls_cipher_deinit( key->handle );
-    HeapFree( GetProcessHeap(), 0, key->secret );
-    HeapFree( GetProcessHeap(), 0, key );
+    heap_free( key->secret );
+    heap_free( key );
     return STATUS_SUCCESS;
 }
 #elif defined(HAVE_COMMONCRYPTO_COMMONCRYPTOR_H) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
@@ -923,7 +924,7 @@ static NTSTATUS key_init( struct key *key, enum alg_id id, const UCHAR *secret,
     }
 
     if (!(key->block_size = get_block_size( id ))) return STATUS_INVALID_PARAMETER;
-    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, secret_len ))) return STATUS_NO_MEMORY;
+    if (!(buffer = heap_alloc( secret_len ))) return STATUS_NO_MEMORY;
     memcpy( buffer, secret, secret_len );
 
     key->alg_id      = id;
@@ -1000,8 +1001,8 @@ static NTSTATUS key_destroy( struct key *key )
 {
     if (key->ref_encrypt) CCCryptorRelease( key->ref_encrypt );
     if (key->ref_decrypt) CCCryptorRelease( key->ref_decrypt );
-    HeapFree( GetProcessHeap(), 0, key->secret );
-    HeapFree( GetProcessHeap(), 0, key );
+    heap_free( key->secret );
+    heap_free( key );
     return STATUS_SUCCESS;
 }
 #else
@@ -1057,12 +1058,12 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_
     if (!alg || alg->hdr.magic != MAGIC_ALG) return STATUS_INVALID_HANDLE;
     if (object) FIXME( "ignoring object buffer\n" );
 
-    if (!(key = HeapAlloc( GetProcessHeap(), 0, sizeof(*key) ))) return STATUS_NO_MEMORY;
+    if (!(key = heap_alloc( sizeof(*key) ))) return STATUS_NO_MEMORY;
     key->hdr.magic = MAGIC_KEY;
 
     if ((status = key_init( key, alg->id, secret, secret_len )))
     {
-        HeapFree( GetProcessHeap(), 0, key );
+        heap_free( key );
         return status;
     }
 
@@ -1128,11 +1129,11 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
 
     if (flags & BCRYPT_BLOCK_PADDING)
     {
-        if (!(buf = HeapAlloc( GetProcessHeap(), 0, key->block_size ))) return STATUS_NO_MEMORY;
+        if (!(buf = heap_alloc( key->block_size ))) return STATUS_NO_MEMORY;
         memcpy( buf, src, bytes_left );
         memset( buf + bytes_left, key->block_size - bytes_left, key->block_size - bytes_left );
         status = key_encrypt( key, buf, key->block_size, dst, key->block_size );
-        HeapFree( GetProcessHeap(), 0, buf );
+        heap_free( buf );
     }
 
     return status;
@@ -1189,7 +1190,7 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
 
     if (flags & BCRYPT_BLOCK_PADDING)
     {
-        if (!(buf = HeapAlloc( GetProcessHeap(), 0, key->block_size ))) return STATUS_NO_MEMORY;
+        if (!(buf = heap_alloc( key->block_size ))) return STATUS_NO_MEMORY;
         status = key_decrypt( key, src, key->block_size, buf, key->block_size );
         if (!status && buf[ key->block_size - 1 ] <= key->block_size)
         {
@@ -1199,7 +1200,7 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
         }
         else
             status = STATUS_UNSUCCESSFUL; /* FIXME: invalid padding */
-        HeapFree( GetProcessHeap(), 0, buf );
+        heap_free( buf );
     }
 
     return status;
-- 
2.11.0




More information about the wine-devel mailing list