ASN1_SIMPLE(EC_PARAMETERS, value.implicitlyCA, ASN1_NULL)
} ASN1_CHOICE_END(EC_PARAMETERS)
-IMPLEMENT_ASN1_FUNCTIONS_const(EC_PARAMETERS);
+IMPLEMENT_ASN1_FUNCTIONS_const(EC_PARAMETERS)
ASN1_SEQUENCE(ECDSAPrivateKey) = {
ASN1_SIMPLE(ECDSAPrivateKey, version, LONG),
if ((point = EC_POINT_new(ret->group)) == NULL) goto err;
}
else OPENSSL_ECDSA_ABORT(ECDSA_R_WRONG_FIELD_IDENTIFIER)
- if (params->curve->seed != NULL && params->curve->seed->data > 0)
+ /* FIXME!!! It seems like the comparison of data with 0 isn't the
+ intended thing. */
+ if (params->curve->seed != NULL && params->curve->seed->data != 0)
{
if (ret->seed != NULL)
OPENSSL_free(ret->seed);
EC_GROUP_free(ret->group);
tmp = OBJ_obj2nid(params->value.named_curve);
ret->parameter_flags |= ECDSA_FLAG_NAMED_CURVE;
- if ((ret->group = EC_GROUP_get_group_by_name(tmp)) == NULL)
+ if ((ret->group = EC_GROUP_new_by_name(tmp)) == NULL)
{
ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_EC_GROUP_NID2CURVE_FAILURE);
ECDSA_free(ret);