diff options
author | Niels Möller <nisse@lysator.liu.se> | 2021-11-13 09:36:20 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2021-11-13 09:36:20 +0100 |
commit | ac95be1310b3700c3795c9104796589a50fa5a7e (patch) | |
tree | ce36341fd3705be5f3cf548f3565f6552d6a2a2e /ecc-secp224r1.c | |
parent | ffe0f5871fcac544e5daf8e139b294811e3faef0 (diff) | |
download | nettle-ac95be1310b3700c3795c9104796589a50fa5a7e.tar.gz |
Fix and test for sqrt(0) special case.
Diffstat (limited to 'ecc-secp224r1.c')
-rw-r--r-- | ecc-secp224r1.c | 7 |
1 files changed, 4 insertions, 3 deletions
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) |