Commit 7cc9b2cd authored by Bernd Edlinger's avatar Bernd Edlinger Committed by Rich Salz
Browse files

Fix a memleak in ec_copy_parameters.



Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3666)
(cherry picked from commit 188a9bd9)
parent f05cece6
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -298,17 +298,21 @@ static int ec_missing_parameters(const EVP_PKEY *pkey)
static int ec_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
{
    EC_GROUP *group = EC_GROUP_dup(EC_KEY_get0_group(from->pkey.ec));

    if (group == NULL)
        return 0;
    if (to->pkey.ec == NULL) {
        to->pkey.ec = EC_KEY_new();
        if (to->pkey.ec == NULL)
            return 0;
            goto err;
    }
    if (EC_KEY_set_group(to->pkey.ec, group) == 0)
        return 0;
        goto err;
    EC_GROUP_free(group);
    return 1;
 err:
    EC_GROUP_free(group);
    return 0;
}

static int ec_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)