diff options
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_cpols.c')
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_cpols.c | 7 |
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 | ||
454 | IMPLEMENT_STACK_OF(X509_POLICY_NODE) | ||