From 0d0765298b264b0dca57ced66f219f73fd4a0cc2 Mon Sep 17 00:00:00 2001 From: Gabriel Holstein Meireles Date: Thu, 9 Feb 2023 14:01:42 -0300 Subject: [PATCH 1/3] Fix a bug where an empty sequence would be created when no value was given --- src/certificate/PolicyInformation.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/certificate/PolicyInformation.cpp b/src/certificate/PolicyInformation.cpp index 9c315bf..9b27930 100644 --- a/src/certificate/PolicyInformation.cpp +++ b/src/certificate/PolicyInformation.cpp @@ -71,11 +71,13 @@ POLICYINFO* PolicyInformation::getPolicyInfo() const POLICYQUALINFO *policyQualInfo; ret = POLICYINFO_new(); ret->policyid = OBJ_dup(this->policyIdentifier.getObjectIdentifier()); - ret->qualifiers = sk_POLICYQUALINFO_new_null(); - for (i=0;ipolicyQualifiers.size();i++) - { - policyQualInfo = this->policyQualifiers.at(i).getPolicyQualInfo(); - sk_POLICYQUALINFO_push(ret->qualifiers, policyQualInfo); + + if (this->policyQualifiers.size()) { + ret->qualifiers = sk_POLICYQUALINFO_new_null(); + for (i=0;ipolicyQualifiers.size();i++) + { + policyQualInfo = this->policyQualifiers.at(i).getPolicyQualInfo(); + sk_POLICYQUALINFO_push(ret->qualifiers, policyQualInfo); + } } - return ret; } From 797d337617c18788005e510c48c11bb532be3dc1 Mon Sep 17 00:00:00 2001 From: Gabriel Holstein Meireles Date: Thu, 9 Feb 2023 14:10:58 -0300 Subject: [PATCH 2/3] Fix missing return --- src/certificate/PolicyInformation.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/certificate/PolicyInformation.cpp b/src/certificate/PolicyInformation.cpp index 9b27930..97b2688 100644 --- a/src/certificate/PolicyInformation.cpp +++ b/src/certificate/PolicyInformation.cpp @@ -80,4 +80,6 @@ POLICYINFO* PolicyInformation::getPolicyInfo() const sk_POLICYQUALINFO_push(ret->qualifiers, policyQualInfo); } } + + return ret; } From 5d29b94e906dee869483f1e58cfed98041fc4f16 Mon Sep 17 00:00:00 2001 From: Gabriel Holstein Meireles Date: Thu, 9 Feb 2023 16:36:15 -0300 Subject: [PATCH 3/3] Fix code formatting --- src/certificate/PolicyInformation.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/certificate/PolicyInformation.cpp b/src/certificate/PolicyInformation.cpp index 97b2688..0d9ccb2 100644 --- a/src/certificate/PolicyInformation.cpp +++ b/src/certificate/PolicyInformation.cpp @@ -72,7 +72,8 @@ POLICYINFO* PolicyInformation::getPolicyInfo() const ret = POLICYINFO_new(); ret->policyid = OBJ_dup(this->policyIdentifier.getObjectIdentifier()); - if (this->policyQualifiers.size()) { + if (this->policyQualifiers.size()) + { ret->qualifiers = sk_POLICYQUALINFO_new_null(); for (i=0;ipolicyQualifiers.size();i++) {