Juan Lang : crypt32: Avoid a memory allocation when decoding the subject key identifier extension .

Alexandre Julliard julliard at wine.codeweavers.com
Tue Aug 14 07:12:55 CDT 2007


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Aug 13 14:31:02 2007 -0700

crypt32: Avoid a memory allocation when decoding the subject key identifier extension.

---

 dlls/crypt32/cert.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c
index ebcf526..d67278d 100644
--- a/dlls/crypt32/cert.c
+++ b/dlls/crypt32/cert.c
@@ -250,19 +250,18 @@ static BOOL WINAPI CertContext_GetProperty(void *context, DWORD dwPropId,
 
             if (ext)
             {
-                CRYPT_DATA_BLOB *value;
+                CRYPT_DATA_BLOB value;
                 DWORD size;
 
                 ret = CryptDecodeObjectEx(X509_ASN_ENCODING,
                  szOID_SUBJECT_KEY_IDENTIFIER, ext->Value.pbData,
-                 ext->Value.cbData, CRYPT_DECODE_ALLOC_FLAG, NULL, &value,
+                 ext->Value.cbData, CRYPT_DECODE_NOCOPY_FLAG, NULL, &value,
                  &size);
                 if (ret)
                 {
-                    ret = CertContext_CopyParam(pvData, pcbData, value->pbData,
-                     value->cbData);
-                    CertContext_SetProperty(context, dwPropId, 0, value);
-                    LocalFree(value);
+                    ret = CertContext_CopyParam(pvData, pcbData, value.pbData,
+                     value.cbData);
+                    CertContext_SetProperty(context, dwPropId, 0, &value);
                 }
             }
             else




More information about the wine-cvs mailing list