From ac95be1310b3700c3795c9104796589a50fa5a7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Sat, 13 Nov 2021 09:36:20 +0100 Subject: Fix and test for sqrt(0) special case. --- ecc-secp224r1.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'ecc-secp224r1.c') diff --git a/ecc-secp224r1.c b/ecc-secp224r1.c index 3d19fde7..bb321298 100644 --- a/ecc-secp224r1.c +++ b/ecc-secp224r1.c @@ -189,10 +189,11 @@ ecc_secp224r1_sqrt (const struct ecc_modulo *p, if (m == r) { - /* No square root. Will always be detected on first round in - the outer loop. */ + /* We get here if there is no square root, or input is zero. + Will always be detected on first round in the outer + loop. */ assert (r == ECC_SQRT_E); - return 0; + return ecc_mod_zero_p (p, xp); } if (m < r - 1) -- cgit v1.2.1