Commit 188a9bd9 authored by Bernd Edlinger's avatar Bernd Edlinger Committed by Rich Salz
Browse files

Fix a memleak in ec_copy_parameters.

parent 150d0478
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)