crypt32(4/8): Only free allocated handles

Juan Lang juan.lang at gmail.com
Tue Aug 21 17:20:16 CDT 2007


--Juan
-------------- next part --------------
From 08d6007e9294ed3c0f4977191b3e05872dcb358c Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Tue, 21 Aug 2007 15:13:05 -0700
Subject: [PATCH] Only free allocated handles
---
 dlls/crypt32/msg.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c
index 4c2c617..2107332 100644
--- a/dlls/crypt32/msg.c
+++ b/dlls/crypt32/msg.c
@@ -831,9 +831,12 @@ static void CSignedMsgData_CloseHandles(
 
     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);
 }
-- 
1.4.1


More information about the wine-patches mailing list