summaryrefslogtreecommitdiff
path: root/lib/nettle/mpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nettle/mpi.c')
-rw-r--r--lib/nettle/mpi.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/nettle/mpi.c b/lib/nettle/mpi.c
index 994f84198c..bd37b10d56 100644
--- a/lib/nettle/mpi.c
+++ b/lib/nettle/mpi.c
@@ -191,15 +191,15 @@ static void wrap_nettle_mpi_clear(bigint_t a)
TOMPZ(a)[0]._mp_alloc * sizeof(mp_limb_t));
}
-static bigint_t wrap_nettle_mpi_mod(const bigint_t a, const bigint_t b)
+static bigint_t wrap_nettle_mpi_modm(bigint_t r, const bigint_t a, const bigint_t b)
{
- bigint_t r = wrap_nettle_mpi_new(wrap_nettle_mpi_get_nbits(b));
-
- if (r == NULL)
- return NULL;
-
+ if (r == NULL) {
+ r = wrap_nettle_mpi_new(wrap_nettle_mpi_get_nbits(b));
+ if (r == NULL) return NULL;
+ }
+
mpz_mod(TOMPZ(r), TOMPZ(a), TOMPZ(b));
-
+
return r;
}
@@ -584,7 +584,7 @@ gnutls_crypto_bigint_st _gnutls_mpi_ops = {
.bigint_new = wrap_nettle_mpi_new,
.bigint_cmp = wrap_nettle_mpi_cmp,
.bigint_cmp_ui = wrap_nettle_mpi_cmp_ui,
- .bigint_mod = wrap_nettle_mpi_mod,
+ .bigint_modm = wrap_nettle_mpi_modm,
.bigint_set = wrap_nettle_mpi_set,
.bigint_set_ui = wrap_nettle_mpi_set_ui,
.bigint_get_nbits = wrap_nettle_mpi_get_nbits,