Juan Lang : crypt32: Don't assume a function succeeded (clang).

Alexandre Julliard julliard at winehq.org
Wed Feb 16 11:14:11 CST 2011


Module: wine
Branch: master
Commit: b377f83453cf82d5274aeebc233702e72a100a4e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b377f83453cf82d5274aeebc233702e72a100a4e

Author: Juan Lang <juan.lang at gmail.com>
Date:   Tue Feb 15 11:16:25 2011 -0800

crypt32: Don't assume a function succeeded (clang).

---

 dlls/crypt32/msg.c |   46 +++++++++++++++++++++++++---------------------
 1 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c
index 97860e5..50c1bee 100644
--- a/dlls/crypt32/msg.c
+++ b/dlls/crypt32/msg.c
@@ -1559,38 +1559,42 @@ static BOOL WINAPI CRYPT_ExportKeyTrans(
          X509_ASN_ENCODING, &keyInfo, &expKey);
     if (ret)
     {
-        BYTE *keyBlob;
         DWORD size;
 
         ret = CryptExportKey(pContentEncryptInfo->hContentEncryptKey, expKey,
          SIMPLEBLOB, 0, NULL, &size);
-        keyBlob = CryptMemAlloc(size);
-        if (keyBlob)
+        if (ret)
         {
-            ret = CryptExportKey(pContentEncryptInfo->hContentEncryptKey,
-             expKey, SIMPLEBLOB, 0, keyBlob, &size);
-            if (ret)
-            {
-                DWORD head = sizeof(BLOBHEADER) + sizeof(ALG_ID);
+            BYTE *keyBlob;
 
-                pKeyTransEncryptInfo->EncryptedKey.pbData =
-                 CryptMemAlloc(size - head);
-                if (pKeyTransEncryptInfo->EncryptedKey.pbData)
+            keyBlob = CryptMemAlloc(size);
+            if (keyBlob)
+            {
+                ret = CryptExportKey(pContentEncryptInfo->hContentEncryptKey,
+                 expKey, SIMPLEBLOB, 0, keyBlob, &size);
+                if (ret)
                 {
-                    DWORD i, k = 0;
+                    DWORD head = sizeof(BLOBHEADER) + sizeof(ALG_ID);
+
+                    pKeyTransEncryptInfo->EncryptedKey.pbData =
+                     CryptMemAlloc(size - head);
+                    if (pKeyTransEncryptInfo->EncryptedKey.pbData)
+                    {
+                        DWORD i, k = 0;
 
-                    pKeyTransEncryptInfo->EncryptedKey.cbData = size - head;
-                    for (i = size - 1; i >= head; --i, ++k)
-                        pKeyTransEncryptInfo->EncryptedKey.pbData[k] =
-                         keyBlob[i];
+                        pKeyTransEncryptInfo->EncryptedKey.cbData = size - head;
+                        for (i = size - 1; i >= head; --i, ++k)
+                            pKeyTransEncryptInfo->EncryptedKey.pbData[k] =
+                             keyBlob[i];
+                    }
+                    else
+                        ret = FALSE;
                 }
-                else
-                    ret = FALSE;
+                CryptMemFree(keyBlob);
             }
-            CryptMemFree(keyBlob);
+            else
+                ret = FALSE;
         }
-        else
-            ret = FALSE;
         CryptDestroyKey(expKey);
     }
 




More information about the wine-cvs mailing list