From 2ff10ac609d73d33c40e9d9cc0500ee09f4eae88 Mon Sep 17 00:00:00 2001 From: winnie-hu Date: Mon, 24 Oct 2022 11:32:33 +0800 Subject: [PATCH] fixed ecfd27d from https://gitee.com/winnie-hu/security_crypto_framework/pulls/73 fix dereference of null pointer Signed-off-by: winnie-hu --- .../certificate/src/x509_certificate_openssl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugin/openssl_plugin/certificate/src/x509_certificate_openssl.c b/plugin/openssl_plugin/certificate/src/x509_certificate_openssl.c index c12f508..30cb715 100644 --- a/plugin/openssl_plugin/certificate/src/x509_certificate_openssl.c +++ b/plugin/openssl_plugin/certificate/src/x509_certificate_openssl.c @@ -696,7 +696,6 @@ static HcfResult GetExtendedKeyUsageX509Openssl(HcfX509CertificateSpi *self, Hcf res = HCF_ERR_CRYPTO_OPERATION; break; } - keyUsageOut->count = size; int32_t blobSize = sizeof(HcfBlob) * size; keyUsageOut->data = (HcfBlob *)HcfMalloc(blobSize, 0); if (keyUsageOut->data == NULL) { @@ -704,6 +703,7 @@ static HcfResult GetExtendedKeyUsageX509Openssl(HcfX509CertificateSpi *self, Hcf res = HCF_ERR_MALLOC; break; } + keyUsageOut->count = size; for (int32_t i = 0; i < size; ++i) { res = DeepCopyExtendedKeyUsage(extUsage, i, keyUsageOut); if (res != HCF_SUCCESS) { @@ -807,7 +807,6 @@ static HcfResult GetSubjectAltNamesX509Openssl(HcfX509CertificateSpi *self, HcfA res = HCF_ERR_CRYPTO_OPERATION; break; } - outName->count = size; int32_t blobSize = sizeof(HcfBlob) * size; outName->data = (HcfBlob *)HcfMalloc(blobSize, 0); if (outName->data == NULL) { @@ -815,6 +814,7 @@ static HcfResult GetSubjectAltNamesX509Openssl(HcfX509CertificateSpi *self, HcfA res = HCF_ERR_MALLOC; break; } + outName->count = size; for (int32_t i = 0; i < size; ++i) { res = DeepCopyAlternativeNames(subjectAltName, i, outName); if (res != HCF_SUCCESS) { @@ -857,7 +857,6 @@ static HcfResult GetIssuerAltNamesX509Openssl(HcfX509CertificateSpi *self, HcfAr res = HCF_ERR_CRYPTO_OPERATION; break; } - outName->count = size; int32_t blobSize = sizeof(HcfBlob) * size; outName->data = (HcfBlob *)HcfMalloc(blobSize, 0); if (outName->data == NULL) { @@ -865,6 +864,7 @@ static HcfResult GetIssuerAltNamesX509Openssl(HcfX509CertificateSpi *self, HcfAr res = HCF_ERR_MALLOC; break; } + outName->count = size; for (int32_t i = 0; i < size; ++i) { res = DeepCopyAlternativeNames(issuerAltName, i, outName); if (res != HCF_SUCCESS) { -- Gitee