Skip to content

Commit b06de0a

Browse files
committed
Improve checks at top of _fe_negate methods
1 parent a0e99fc commit b06de0a

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/field_10x26_impl.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,10 @@ SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k
389389
#ifdef VERIFY
390390
VERIFY_CHECK(a->magnitude <= m);
391391
secp256k1_fe_verify(a);
392+
VERIFY_CHECK(0x3FFFC2FUL * 2 * (m + 1) >= 0x3FFFFFFUL * 2 * m);
393+
VERIFY_CHECK(0x3FFFFBFUL * 2 * (m + 1) >= 0x3FFFFFFUL * 2 * m);
394+
VERIFY_CHECK(0x3FFFFFFUL * 2 * (m + 1) >= 0x3FFFFFFUL * 2 * m);
395+
VERIFY_CHECK(0x03FFFFFUL * 2 * (m + 1) >= 0x03FFFFFUL * 2 * m);
392396
#endif
393397
r->n[0] = 0x3FFFC2FUL * 2 * (m + 1) - a->n[0];
394398
r->n[1] = 0x3FFFFBFUL * 2 * (m + 1) - a->n[1];

src/field_5x52_impl.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,9 @@ SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k
375375
#ifdef VERIFY
376376
VERIFY_CHECK(a->magnitude <= m);
377377
secp256k1_fe_verify(a);
378+
VERIFY_CHECK(0xFFFFEFFFFFC2FULL * 2 * (m + 1) >= 0xFFFFFFFFFFFFFULL * 2 * m);
379+
VERIFY_CHECK(0xFFFFFFFFFFFFFULL * 2 * (m + 1) >= 0xFFFFFFFFFFFFFULL * 2 * m);
380+
VERIFY_CHECK(0x0FFFFFFFFFFFFULL * 2 * (m + 1) >= 0x0FFFFFFFFFFFFULL * 2 * m);
378381
#endif
379382
r->n[0] = 0xFFFFEFFFFFC2FULL * 2 * (m + 1) - a->n[0];
380383
r->n[1] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[1];

0 commit comments

Comments
 (0)