int EC_KEY_set_group()

in source/ec_override.c [98:114]


int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group) {
    assert(key);

    if (!group || nondet_bool()) return 0;

    EC_GROUP_free(key->group);
    key->group = malloc(sizeof(EC_GROUP));

    if (!key->group) return 0;

    key->group->curve_name = group->curve_name;
    key->group->asn1_form  = group->asn1_form;
    key->group->order      = BN_dup(group->order);
    __CPROVER_assume(ec_group_is_valid(key->group));  // Since this is the success path, ensure that BN_dup succeeds

    return 1;
}