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) | ||
