From 6c0be857f8fee7807a2a704465d2e0f6b1f021e3 Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Wed, 12 May 2021 10:06:52 -0400 Subject: [PATCH] Verify that secp256k1_ge_set_gej_zinv does not operate on infinity. a->x and a->y should not be used if the infinity flag is set. --- src/group_impl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/group_impl.h b/src/group_impl.h index 6fc58ea01599a..bce9fbdad5642 100644 --- a/src/group_impl.h +++ b/src/group_impl.h @@ -67,6 +67,7 @@ static const secp256k1_fe secp256k1_fe_const_b = SECP256K1_FE_CONST(0, 0, 0, 0, static void secp256k1_ge_set_gej_zinv(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zi) { secp256k1_fe zi2; secp256k1_fe zi3; + VERIFY_CHECK(!a->infinity); secp256k1_fe_sqr(&zi2, zi); secp256k1_fe_mul(&zi3, &zi2, zi); secp256k1_fe_mul(&r->x, &a->x, &zi2);