Always initialize output coordinates in secp256k1_ge_set_gej

This commit is contained in:
Pieter Wuille 2020-09-01 18:15:21 -07:00
parent 3086cb90ac
commit a18821d5b1

View File

@ -115,10 +115,11 @@ static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a) {
static void secp256k1_ge_set_gej_var(secp256k1_ge *r, secp256k1_gej *a) { static void secp256k1_ge_set_gej_var(secp256k1_ge *r, secp256k1_gej *a) {
secp256k1_fe z2, z3; secp256k1_fe z2, z3;
if (a->infinity) { if (secp256k1_gej_is_infinity(a)) {
secp256k1_ge_set_infinity(r); secp256k1_ge_set_infinity(r);
return; return;
} }
r->infinity = 0;
secp256k1_fe_inv_var(&a->z, &a->z); secp256k1_fe_inv_var(&a->z, &a->z);
secp256k1_fe_sqr(&z2, &a->z); secp256k1_fe_sqr(&z2, &a->z);
secp256k1_fe_mul(&z3, &a->z, &z2); secp256k1_fe_mul(&z3, &a->z, &z2);