From 633779b4728f635646f4f8d8bbd940cec3feeb48 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Fri, 9 Nov 2018 14:54:59 +0100 Subject: [PATCH] rsaenh: Fix a memory leak (Valgrind). Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard --- dlls/rsaenh/rsaenh.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c index bc10fc731fd..c22b3dcaf1e 100644 --- a/dlls/rsaenh/rsaenh.c +++ b/dlls/rsaenh/rsaenh.c @@ -3628,17 +3628,18 @@ BOOL WINAPI RSAENH_CPGetHashParam(HCRYPTPROV hProv, HCRYPTHASH hHash, DWORD dwPa &pCryptHash->tpPRFParams.blobSeed, pbData, *pdwDataLen); } - if ( pbData == NULL ) { - *pdwDataLen = pCryptHash->dwHashSize; - return TRUE; - } - - if (pbData && (pCryptHash->dwState != RSAENH_HASHSTATE_FINISHED)) + if (pCryptHash->dwState != RSAENH_HASHSTATE_FINISHED) { finalize_hash(pCryptHash); pCryptHash->dwState = RSAENH_HASHSTATE_FINISHED; } + if (!pbData) + { + *pdwDataLen = pCryptHash->dwHashSize; + return TRUE; + } + return copy_param(pbData, pdwDataLen, pCryptHash->abHashValue, pCryptHash->dwHashSize);