summaryrefslogtreecommitdiff
path: root/mpi
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2020-04-21 14:00:13 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2020-04-21 14:00:13 +0900
commit2a3c58a0b4db01c17da0bf8c035fb1def2af114c (patch)
treea7894a639072edcc7aca339b10cf9acc7ce148d7 /mpi
parent45f21f871982753716d4a7676d948e8c7d644db5 (diff)
downloadlibgcrypt-2a3c58a0b4db01c17da0bf8c035fb1def2af114c.tar.gz
mpi: Fix mpi_invm_pow2.
* mpi/mpi-inv.c (mpi_invm_pow2): Fix the algo implementation. Fixes-commit: 515bd6e9fae448e966f71e23635503716201158d Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'mpi')
-rw-r--r--mpi/mpi-inv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mpi/mpi-inv.c b/mpi/mpi-inv.c
index b44aeb78..eb20eb03 100644
--- a/mpi/mpi-inv.c
+++ b/mpi/mpi-inv.c
@@ -132,7 +132,9 @@ mpi_invm_pow2 (gcry_mpi_t x, gcry_mpi_t a_orig, unsigned int k)
usize = iterations / BITS_PER_MPI_LIMB;
mpi_resize (b, usize);
+ b->nlimbs = usize;
mpi_resize (x, usize);
+ x->nlimbs = usize;
tb = mpi_copy (b);
@@ -152,6 +154,7 @@ mpi_invm_pow2 (gcry_mpi_t x, gcry_mpi_t a_orig, unsigned int k)
_gcry_mpih_sub_n (wp, up, vp, usize);
mpih_set_cond (up, wp, usize, b0);
+ _gcry_mpih_rshift (up, up, usize, 1);
}
mpi_free (tb);