Module: wine Branch: refs/heads/master Commit: 69698f9b44ce78b6e60e91e9664779e8a0e5383b URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=69698f9b44ce78b6e60e91e9...
Author: Juan Lang juan_lang@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; }