From f7bcc26cc5f90c9fd58b064247029db8af64a104 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Mon, 13 Aug 2007 14:31:02 -0700 Subject: [PATCH] crypt32: Avoid a memory allocation when decoding the subject key identifier extension. --- dlls/crypt32/cert.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c index ebcf526477b..d67278db7f0 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