X-Git-Url: http://git.rot13.org/?p=bcm963xx.git;a=blobdiff_plain;f=userapps%2Fopensource%2Fsshd%2Flibtommath%2Fbn_mp_shrink.c;h=b31f9d22950f02103cd1508e8d7ac55212bdb03c;hp=023a46b53ddcd3b63350f580cd75976d0eb11704;hb=57a096f051259ceaefd5977f30d269884e1dd248;hpb=9887430fc6b7c0f8eb8e81de2bfe3bba12d8d4a1 diff --git a/userapps/opensource/sshd/libtommath/bn_mp_shrink.c b/userapps/opensource/sshd/libtommath/bn_mp_shrink.c index 023a46b5..b31f9d22 100755 --- a/userapps/opensource/sshd/libtommath/bn_mp_shrink.c +++ b/userapps/opensource/sshd/libtommath/bn_mp_shrink.c @@ -1,9 +1,11 @@ +#include +#ifdef BN_MP_SHRINK_C /* LibTomMath, multiple-precision integer library -- Tom St Denis * - * LibTomMath is library that provides for multiple-precision + * LibTomMath is a library that provides multiple-precision * integer arithmetic as well as number theoretic functionality. * - * The library is designed directly after the MPI library by + * The library was designed directly after the MPI library by * Michael Fromberger but has been written from scratch with * additional optimizations in place. * @@ -12,17 +14,18 @@ * * Tom St Denis, tomstdenis@iahu.ca, http://math.libtomcrypt.org */ -#include /* shrink a bignum */ -int -mp_shrink (mp_int * a) +int mp_shrink (mp_int * a) { - if (a->alloc != a->used) { - if ((a->dp = OPT_CAST realloc (a->dp, sizeof (mp_digit) * a->used)) == NULL) { + mp_digit *tmp; + if (a->alloc != a->used && a->used > 0) { + if ((tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * a->used)) == NULL) { return MP_MEM; } + a->dp = tmp; a->alloc = a->used; } return MP_OKAY; } +#endif