Add check that restrict pointers don't alias with all parameters.
This commit is contained in:
parent
95e99f196f
commit
4efb3f8dd1
@ -1069,6 +1069,7 @@ static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp2
|
|||||||
secp256k1_fe_verify(a);
|
secp256k1_fe_verify(a);
|
||||||
secp256k1_fe_verify(b);
|
secp256k1_fe_verify(b);
|
||||||
VERIFY_CHECK(r != b);
|
VERIFY_CHECK(r != b);
|
||||||
|
VERIFY_CHECK(a != b);
|
||||||
#endif
|
#endif
|
||||||
secp256k1_fe_mul_inner(r->n, a->n, b->n);
|
secp256k1_fe_mul_inner(r->n, a->n, b->n);
|
||||||
#ifdef VERIFY
|
#ifdef VERIFY
|
||||||
|
@ -422,6 +422,7 @@ static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp2
|
|||||||
secp256k1_fe_verify(a);
|
secp256k1_fe_verify(a);
|
||||||
secp256k1_fe_verify(b);
|
secp256k1_fe_verify(b);
|
||||||
VERIFY_CHECK(r != b);
|
VERIFY_CHECK(r != b);
|
||||||
|
VERIFY_CHECK(a != b);
|
||||||
#endif
|
#endif
|
||||||
secp256k1_fe_mul_inner(r->n, a->n, b->n);
|
secp256k1_fe_mul_inner(r->n, a->n, b->n);
|
||||||
#ifdef VERIFY
|
#ifdef VERIFY
|
||||||
|
@ -32,6 +32,7 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
|
|||||||
VERIFY_BITS(b[3], 56);
|
VERIFY_BITS(b[3], 56);
|
||||||
VERIFY_BITS(b[4], 52);
|
VERIFY_BITS(b[4], 52);
|
||||||
VERIFY_CHECK(r != b);
|
VERIFY_CHECK(r != b);
|
||||||
|
VERIFY_CHECK(a != b);
|
||||||
|
|
||||||
/* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n.
|
/* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n.
|
||||||
* px is a shorthand for sum(a[i]*b[x-i], i=0..x).
|
* px is a shorthand for sum(a[i]*b[x-i], i=0..x).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user