Juan Lang : crypt32: Don't set salt's cbData unless allocation succeeds. Fixes Coverity id 133.

Alexandre Julliard julliard at winehq.org
Thu Sep 11 08:00:16 CDT 2008


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Wed Sep 10 09:39:23 2008 -0700

crypt32: Don't set salt's cbData unless allocation succeeds. Fixes Coverity id 133.

---

 dlls/crypt32/protectdata.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/crypt32/protectdata.c b/dlls/crypt32/protectdata.c
index d3e0034..d86dd8e 100644
--- a/dlls/crypt32/protectdata.c
+++ b/dlls/crypt32/protectdata.c
@@ -607,8 +607,7 @@ BOOL fill_protect_data(struct protect_data_t * pInfo, LPCWSTR szDataDescr,
     pInfo->hash_len=CRYPT32_PROTECTDATA_HASH_LEN;
 
     /* allocate memory to hold a salt */
-    pInfo->salt.cbData=CRYPT32_PROTECTDATA_SALT_LEN;
-    if ((pInfo->salt.pbData=CryptMemAlloc(pInfo->salt.cbData)))
+    if ((pInfo->salt.pbData=CryptMemAlloc(CRYPT32_PROTECTDATA_SALT_LEN)))
     {
         /* generate random salt */
         if (!CryptGenRandom(hProv, pInfo->salt.cbData, pInfo->salt.pbData))
@@ -617,6 +616,7 @@ BOOL fill_protect_data(struct protect_data_t * pInfo, LPCWSTR szDataDescr,
             free_protect_data(pInfo);
             return FALSE;
         }
+        pInfo->salt.cbData=CRYPT32_PROTECTDATA_SALT_LEN;
     }
 
     /* debug: show our salt */




More information about the wine-cvs mailing list