summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509v3/v3_cpols.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_cpols.c')
-rw-r--r--src/lib/libcrypto/x509v3/v3_cpols.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_cpols.c b/src/lib/libcrypto/x509v3/v3_cpols.c
index 95596055ab..ad0506d75c 100644
--- a/src/lib/libcrypto/x509v3/v3_cpols.c
+++ b/src/lib/libcrypto/x509v3/v3_cpols.c
@@ -181,7 +181,11 @@ static STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method,
181 pol = POLICYINFO_new(); 181 pol = POLICYINFO_new();
182 pol->policyid = pobj; 182 pol->policyid = pobj;
183 } 183 }
184 sk_POLICYINFO_push(pols, pol); 184 if (!sk_POLICYINFO_push(pols, pol)){
185 POLICYINFO_free(pol);
186 X509V3err(X509V3_F_R2I_CERTPOL, ERR_R_MALLOC_FAILURE);
187 goto err;
188 }
185 } 189 }
186 sk_CONF_VALUE_pop_free(vals, X509V3_conf_free); 190 sk_CONF_VALUE_pop_free(vals, X509V3_conf_free);
187 return pols; 191 return pols;
@@ -447,3 +451,4 @@ void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent)
447 BIO_printf(out, "%*sNo Qualifiers\n", indent + 2, ""); 451 BIO_printf(out, "%*sNo Qualifiers\n", indent + 2, "");
448 } 452 }
449 453
454IMPLEMENT_STACK_OF(X509_POLICY_NODE)