diff options
Diffstat (limited to 'libtommath/bn_mp_init_size.c')
-rw-r--r-- | libtommath/bn_mp_init_size.c | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/libtommath/bn_mp_init_size.c b/libtommath/bn_mp_init_size.c index 8ed2c2a..9b933fb 100644 --- a/libtommath/bn_mp_init_size.c +++ b/libtommath/bn_mp_init_size.c @@ -1,4 +1,4 @@ -#include <tommath.h> +#include "tommath_private.h" #ifdef BN_MP_INIT_SIZE_C /* LibTomMath, multiple-precision integer library -- Tom St Denis * @@ -9,36 +9,37 @@ * Michael Fromberger but has been written from scratch with * additional optimizations in place. * - * The library is free for all purposes without any express - * guarantee it works. - * - * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com + * SPDX-License-Identifier: Unlicense */ /* init an mp_init for a given size */ -int mp_init_size (mp_int * a, int size) +int mp_init_size(mp_int *a, int size) { - int x; + int x; + + /* pad size so there are always extra digits */ + size += (MP_PREC * 2) - (size % MP_PREC); - /* pad size so there are always extra digits */ - size += (MP_PREC * 2) - (size % MP_PREC); - - /* alloc mem */ - a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * size); - if (a->dp == NULL) { - return MP_MEM; - } + /* alloc mem */ + a->dp = OPT_CAST(mp_digit) XMALLOC(sizeof(mp_digit) * (size_t)size); + if (a->dp == NULL) { + return MP_MEM; + } - /* set the members */ - a->used = 0; - a->alloc = size; - a->sign = MP_ZPOS; + /* set the members */ + a->used = 0; + a->alloc = size; + a->sign = MP_ZPOS; - /* zero the digits */ - for (x = 0; x < size; x++) { + /* zero the digits */ + for (x = 0; x < size; x++) { a->dp[x] = 0; - } + } - return MP_OKAY; + return MP_OKAY; } #endif + +/* ref: $Format:%D$ */ +/* git commit: $Format:%H$ */ +/* commit time: $Format:%ai$ */ |