From bd0b6f8c2b8663e372b713769b554984b2d929ae Mon Sep 17 00:00:00 2001 From: Luke Howard Date: Fri, 11 May 2018 21:06:27 +1000 Subject: [PATCH] hcrypto WinCNG backend: don't leak handles on digest reinit Similar fix to 9518f296, but for the WinCNG EVP backend. --- lib/hcrypto/evp-wincng.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/hcrypto/evp-wincng.c b/lib/hcrypto/evp-wincng.c index 8a8b91cb1..d97a80d14 100644 --- a/lib/hcrypto/evp-wincng.c +++ b/lib/hcrypto/evp-wincng.c @@ -570,6 +570,11 @@ wincng_md_hash_init(BCRYPT_ALG_HANDLE hAlgorithm, NTSTATUS status; ULONG cbData; + if (cng->hHash) { + BCryptDestroyHash(cng->hHash); /* allow reinitialization */ + cng->hHash = (BCRYPT_HASH_HANDLE)0; + } + status = BCryptGetProperty(hAlgorithm, BCRYPT_OBJECT_LENGTH, (PUCHAR)&cng->cbHashObject,