From d4c318f2952d0f0fee446ee9ca3273c9acf1e6ed Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Tue, 21 Aug 2007 15:13:05 -0700 Subject: [PATCH] crypt32: Only free allocated handles. --- dlls/crypt32/msg.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c index 4c2c6177930..21073322972 100644 --- a/dlls/crypt32/msg.c +++ b/dlls/crypt32/msg.c @@ -831,9 +831,12 @@ static void CSignedMsgData_CloseHandles(CSignedMsgData *msg_data) for (i = 0; i < msg_data->info->cSignerInfo; i++) { - CryptDestroyKey(msg_data->signerHandles[i].key); - CryptDestroyHash(msg_data->signerHandles[i].contentHash); - CryptDestroyHash(msg_data->signerHandles[i].authAttrHash); + if (msg_data->signerHandles[i].key) + CryptDestroyKey(msg_data->signerHandles[i].key); + if (msg_data->signerHandles[i].contentHash) + CryptDestroyHash(msg_data->signerHandles[i].contentHash); + if (msg_data->signerHandles[i].authAttrHash) + CryptDestroyHash(msg_data->signerHandles[i].authAttrHash); } CryptMemFree(msg_data->signerHandles); }