Sebastian Lackner : crypt32: Set correct return value if CryptMemAlloc fails.

Alexandre Julliard julliard at winehq.org
Mon Dec 9 13:41:29 CST 2013


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

Author: Sebastian Lackner <sebastian at fds-team.de>
Date:   Sun Dec  8 06:09:17 2013 +0100

crypt32: Set correct return value if CryptMemAlloc fails.

---

 dlls/crypt32/cert.c      |    8 ++++++++
 dlls/crypt32/chain.c     |    2 ++
 dlls/crypt32/filestore.c |    2 ++
 dlls/crypt32/object.c    |    2 ++
 4 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c
index 0f14ffb..074b924 100644
--- a/dlls/crypt32/cert.c
+++ b/dlls/crypt32/cert.c
@@ -1466,6 +1466,8 @@ static BOOL compare_cert_by_cert_id(PCCERT_CONTEXT pCertContext, DWORD dwType,
                 ret = !memcmp(buf, id->u.KeyId.pbData, size);
                 CryptMemFree(buf);
             }
+            else
+                ret = FALSE;
         }
         else
             ret = FALSE;
@@ -1506,6 +1508,8 @@ static BOOL compare_cert_by_signature_hash(PCCERT_CONTEXT pCertContext, DWORD dw
             ret = !memcmp(buf, hash->pbData, size);
             CryptMemFree(buf);
         }
+        else
+            ret = FALSE;
     }
     else
         ret = FALSE;
@@ -2375,10 +2379,14 @@ BOOL WINAPI CryptSignAndEncodeCertificate(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCrypt
                         }
                         CryptMemFree(hash);
                     }
+                    else
+                        ret = FALSE;
                 }
             }
             CryptMemFree(encoded);
         }
+        else
+            ret = FALSE;
     }
     return ret;
 }
diff --git a/dlls/crypt32/chain.c b/dlls/crypt32/chain.c
index 1a83dee..427db63 100644
--- a/dlls/crypt32/chain.c
+++ b/dlls/crypt32/chain.c
@@ -306,6 +306,8 @@ static BOOL CRYPT_IsCertificateSelfSigned(PCCERT_CONTEXT cert)
                         ret = !memcmp(buf, info->KeyId.pbData, size);
                         CryptMemFree(buf);
                     }
+                    else
+                        ret = FALSE;
                 }
                 else
                     ret = FALSE;
diff --git a/dlls/crypt32/filestore.c b/dlls/crypt32/filestore.c
index 81c8c5e..0f7d8d5 100644
--- a/dlls/crypt32/filestore.c
+++ b/dlls/crypt32/filestore.c
@@ -122,6 +122,8 @@ static BOOL CRYPT_ReadBlobFromFile(HANDLE file, PCERT_BLOB blob)
             ret = ReadFile(file, blob->pbData, blob->cbData, &read, NULL) && read == blob->cbData;
             if (!ret) CryptMemFree(blob->pbData);
         }
+        else
+            ret = FALSE;
     }
     return ret;
 }
diff --git a/dlls/crypt32/object.c b/dlls/crypt32/object.c
index 39955ce..0320cfd 100644
--- a/dlls/crypt32/object.c
+++ b/dlls/crypt32/object.c
@@ -55,6 +55,8 @@ static BOOL CRYPT_ReadBlobFromFile(LPCWSTR fileName, PCERT_BLOB blob)
                 ret = ReadFile(file, blob->pbData, blob->cbData, &read, NULL) && read == blob->cbData;
                 if (!ret) CryptMemFree(blob->pbData);
             }
+            else
+                ret = FALSE;
         }
         CloseHandle(file);
     }




More information about the wine-cvs mailing list