Juan Lang : crypt32: Fix up decoding.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Feb 9 05:47:29 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 69698f9b44ce78b6e60e91e9664779e8a0e5383b
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=69698f9b44ce78b6e60e91e9664779e8a0e5383b
Author: Juan Lang <juan_lang at yahoo.com>
Date: Thu Feb 9 12:09:28 2006 +0100
crypt32: Fix up decoding.
- don't use the no copy flag when decoding, the lifetime of the buffer
to decode isn't guaranteed
- remove some extraneous ternary comparisons
- fix a comment
---
dlls/crypt32/cert.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c
index 346d898..52cd987 100644
--- a/dlls/crypt32/cert.c
+++ b/dlls/crypt32/cert.c
@@ -552,7 +552,7 @@ static void CRYPT_MemEmptyStore(PWINE_ME
PWINE_CERT_LIST_ENTRY cert, next;
EnterCriticalSection(&store->cs);
- /* Note that CertFreeCertificateContext calls HeapFree on the passed-in
+ /* Note that CertFreeCertificateContext calls CryptMemFree on the passed-in
* pointer if its ref-count reaches zero. That's okay here because there
* aren't any allocated data outside of the WINE_CERT_CONTEXT_REF portion
* of the CertListEntry.
@@ -1939,15 +1939,13 @@ static PWINE_CERT_CONTEXT CRYPT_CreateCe
/* First try to decode it as a signed cert. */
ret = CryptDecodeObjectEx(X509_ASN_ENCODING, X509_CERT, pbCertEncoded,
- cbCertEncoded, CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_NOCOPY_FLAG, NULL,
- (BYTE *)&signedCert, &size);
+ cbCertEncoded, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&signedCert, &size);
if (ret)
{
size = 0;
ret = CryptDecodeObjectEx(X509_ASN_ENCODING, X509_CERT_TO_BE_SIGNED,
signedCert->ToBeSigned.pbData, signedCert->ToBeSigned.cbData,
- CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_NOCOPY_FLAG, NULL,
- (BYTE *)&certInfo, &size);
+ CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&certInfo, &size);
LocalFree(signedCert);
}
/* Failing that, try it as an unsigned cert */
@@ -2241,7 +2239,7 @@ static BOOL CRYPT_SaveCertificateContext
{
CryptMemFree(prop->pbData);
prop->hdr.cb = cbData;
- prop->pbData = cbData ? data : NULL;
+ prop->pbData = data;
ret = TRUE;
}
else
@@ -2253,7 +2251,7 @@ static BOOL CRYPT_SaveCertificateContext
prop->hdr.unknown = 1;
prop->hdr.cb = cbData;
list_init(&prop->entry);
- prop->pbData = cbData ? data : NULL;
+ prop->pbData = data;
list_add_tail(&context->extendedProperties, &prop->entry);
ret = TRUE;
}
More information about the wine-cvs
mailing list