Commit 234b8af4 authored by FdaSilvaYY's avatar FdaSilvaYY Committed by Matt Caswell
Browse files

Simplify and clean X509_VERIFY_PARAM new/free code.



Split x509_verify_param_zero code to the right place

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
parent 902aca09
Loading
Loading
Loading
Loading
+13 −30
Original line number Diff line number Diff line
@@ -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);
}