summaryrefslogtreecommitdiff
path: root/ecc-secp224r1.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2021-11-13 09:36:20 +0100
committerNiels Möller <nisse@lysator.liu.se>2021-11-13 09:36:20 +0100
commitac95be1310b3700c3795c9104796589a50fa5a7e (patch)
treece36341fd3705be5f3cf548f3565f6552d6a2a2e /ecc-secp224r1.c
parentffe0f5871fcac544e5daf8e139b294811e3faef0 (diff)
downloadnettle-ac95be1310b3700c3795c9104796589a50fa5a7e.tar.gz
Fix and test for sqrt(0) special case.
Diffstat (limited to 'ecc-secp224r1.c')
-rw-r--r--ecc-secp224r1.c7
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)