diff options
author | Matt Johnston <matt@ucc.asn.au> | 2011-03-18 14:31:07 +0000 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2011-03-18 14:31:07 +0000 |
commit | bfe6cf70fb6f64077aaeef5399d20b9fdaf52224 (patch) | |
tree | a3c71d34db4d2b66c293014685709ba03635be15 | |
parent | 3c678152e89c53b4d0414467b6da9257dcc1af4d (diff) | |
download | dropbear-bfe6cf70fb6f64077aaeef5399d20b9fdaf52224.tar.gz |
Use mp_init_size() to avoid some mp_grow()s
-rw-r--r-- | libtommath/bn_mp_exptmod_fast.c | 6 | ||||
-rw-r--r-- | libtommath/bn_mp_init_copy.c | 2 | ||||
-rw-r--r-- | libtommath/bn_mp_mod.c | 2 | ||||
-rw-r--r-- | libtommath/bn_mp_mulmod.c | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/libtommath/bn_mp_exptmod_fast.c b/libtommath/bn_mp_exptmod_fast.c index 32f8f16..47669f9 100644 --- a/libtommath/bn_mp_exptmod_fast.c +++ b/libtommath/bn_mp_exptmod_fast.c @@ -67,13 +67,13 @@ int mp_exptmod_fast (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode /* init M array */ /* init first cell */ - if ((err = mp_init(&M[1])) != MP_OKAY) { + if ((err = mp_init_size(&M[1], P->alloc)) != MP_OKAY) { return err; } /* now init the second half of the array */ for (x = 1<<(winsize-1); x < (1 << winsize); x++) { - if ((err = mp_init(&M[x])) != MP_OKAY) { + if ((err = mp_init_size(&M[x], P->alloc)) != MP_OKAY) { for (y = 1<<(winsize-1); y < x; y++) { mp_clear (&M[y]); } @@ -133,7 +133,7 @@ int mp_exptmod_fast (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode } /* setup result */ - if ((err = mp_init (&res)) != MP_OKAY) { + if ((err = mp_init_size (&res, P->alloc)) != MP_OKAY) { goto LBL_M; } diff --git a/libtommath/bn_mp_init_copy.c b/libtommath/bn_mp_init_copy.c index 8e7329c..1fca6a1 100644 --- a/libtommath/bn_mp_init_copy.c +++ b/libtommath/bn_mp_init_copy.c @@ -20,7 +20,7 @@ int mp_init_copy (mp_int * a, mp_int * b) { int res; - if ((res = mp_init (a)) != MP_OKAY) { + if ((res = mp_init_size (a, b->used)) != MP_OKAY) { return res; } return mp_copy (b, a); diff --git a/libtommath/bn_mp_mod.c b/libtommath/bn_mp_mod.c index be1f36d..87c8b0a 100644 --- a/libtommath/bn_mp_mod.c +++ b/libtommath/bn_mp_mod.c @@ -22,7 +22,7 @@ mp_mod (mp_int * a, mp_int * b, mp_int * c) mp_int t; int res; - if ((res = mp_init (&t)) != MP_OKAY) { + if ((res = mp_init_size (&t, b->used)) != MP_OKAY) { return res; } diff --git a/libtommath/bn_mp_mulmod.c b/libtommath/bn_mp_mulmod.c index 46818b6..24c9749 100644 --- a/libtommath/bn_mp_mulmod.c +++ b/libtommath/bn_mp_mulmod.c @@ -21,7 +21,7 @@ int mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) int res; mp_int t; - if ((res = mp_init (&t)) != MP_OKAY) { + if ((res = mp_init_size (&t, c->used)) != MP_OKAY) { return res; } |