Simplify and clean X509_VERIFY_PARAM new/free code.
Split x509_verify_param_zero code to the right place Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
parent
902aca09f3
commit
234b8af4b7
1 changed files with 13 additions and 30 deletions
|
@ -79,33 +79,6 @@ static int int_x509_param_set_hosts(X509_VERIFY_PARAM *vpm, int mode,
|
|||
return 1;
|
||||
}
|
||||
|
||||
static void x509_verify_param_zero(X509_VERIFY_PARAM *param)
|
||||
{
|
||||
if (!param)
|
||||
return;
|
||||
param->name = NULL;
|
||||
param->purpose = 0;
|
||||
param->trust = X509_TRUST_DEFAULT;
|
||||
/*
|
||||
* param->inh_flags = X509_VP_FLAG_DEFAULT;
|
||||
*/
|
||||
param->inh_flags = 0;
|
||||
param->flags = 0;
|
||||
param->depth = -1;
|
||||
param->auth_level = -1; /* -1 means unset, 0 is explicit */
|
||||
sk_ASN1_OBJECT_pop_free(param->policies, ASN1_OBJECT_free);
|
||||
param->policies = NULL;
|
||||
sk_OPENSSL_STRING_pop_free(param->hosts, str_free);
|
||||
param->hosts = NULL;
|
||||
OPENSSL_free(param->peername);
|
||||
param->peername = NULL;
|
||||
OPENSSL_free(param->email);
|
||||
param->email = NULL;
|
||||
param->emaillen = 0;
|
||||
OPENSSL_free(param->ip);
|
||||
param->ip = NULL;
|
||||
param->iplen = 0;
|
||||
}
|
||||
|
||||
X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void)
|
||||
{
|
||||
|
@ -114,15 +87,25 @@ X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void)
|
|||
param = OPENSSL_zalloc(sizeof(*param));
|
||||
if (param == NULL)
|
||||
return NULL;
|
||||
x509_verify_param_zero(param);
|
||||
param->trust = X509_TRUST_DEFAULT;
|
||||
/*
|
||||
* param->inh_flags = X509_VP_FLAG_DEFAULT;
|
||||
*/
|
||||
param->inh_flags = 0;
|
||||
param->depth = -1;
|
||||
param->auth_level = -1; /* -1 means unset, 0 is explicit */
|
||||
return param;
|
||||
}
|
||||
|
||||
void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param)
|
||||
{
|
||||
if (!param)
|
||||
if (param == NULL)
|
||||
return;
|
||||
x509_verify_param_zero(param);
|
||||
sk_ASN1_OBJECT_pop_free(param->policies, ASN1_OBJECT_free);
|
||||
sk_OPENSSL_STRING_pop_free(param->hosts, str_free);
|
||||
OPENSSL_free(param->peername);
|
||||
OPENSSL_free(param->email);
|
||||
OPENSSL_free(param->ip);
|
||||
OPENSSL_free(param);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue