crypt32(9/21): Make a helper function to a free a signed message's
handles
Juan Lang
juan.lang at gmail.com
Tue Aug 21 09:23:18 CDT 2007
--Juan
-------------- next part --------------
From 40e1851878ac9f2ee79dd6119da7cf248a31f6ba Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Mon, 20 Aug 2007 17:43:12 -0700
Subject: [PATCH] Make a helper function to a free a signed message's handles
---
dlls/crypt32/msg.c | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c
index 9b9b843..b67dbbd 100644
--- a/dlls/crypt32/msg.c
+++ b/dlls/crypt32/msg.c
@@ -805,6 +805,20 @@ typedef struct _CSignedEncodeMsg
CSignedMsgData msg_data;
} CSignedEncodeMsg;
+static void CSignedMsgData_CloseHandles(CSignedMsgData *msg_data)
+{
+ DWORD i;
+
+ 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);
+ CryptReleaseContext(msg_data->signerHandles[i].prov, 0);
+ }
+ CryptMemFree(msg_data->signerHandles);
+}
+
static void CSignedEncodeMsg_Close(HCRYPTMSG hCryptMsg)
{
CSignedEncodeMsg *msg = (CSignedEncodeMsg *)hCryptMsg;
@@ -814,14 +828,8 @@ static void CSignedEncodeMsg_Close(HCRYP
CRYPT_FreeBlobArray((BlobArray *)&msg->msg_data.info->cCertEncoded);
CRYPT_FreeBlobArray((BlobArray *)&msg->msg_data.info->cCrlEncoded);
for (i = 0; i < msg->msg_data.info->cSignerInfo; i++)
- {
CSignerInfo_Free(&msg->msg_data.info->rgSignerInfo[i]);
- CryptDestroyKey(msg->msg_data.signerHandles[i].key);
- CryptDestroyHash(msg->msg_data.signerHandles[i].contentHash);
- CryptDestroyHash(msg->msg_data.signerHandles[i].authAttrHash);
- CryptReleaseContext(msg->msg_data.signerHandles[i].prov, 0);
- }
- CryptMemFree(msg->msg_data.signerHandles);
+ CSignedMsgData_CloseHandles(&msg->msg_data);
CryptMemFree(msg->msg_data.info->rgSignerInfo);
CryptMemFree(msg->msg_data.info);
}
--
1.4.1
More information about the wine-patches
mailing list