Module: wine Branch: master Commit: f7bcc26cc5f90c9fd58b064247029db8af64a104 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f7bcc26cc5f90c9fd58b064247...
Author: Juan Lang juan.lang@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