diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-11-18 09:50:37 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-11-18 09:50:37 (GMT) |
commit | c85162575b2a6ba6d8b7103a103d8724c2d51e03 (patch) | |
tree | c945d6b5352f04dfb8dcda9435522ae38bf25c51 /libtommath/bn_mp_exteuclid.c | |
parent | e0c2fc16a8641c16944de458557edf2d315d688b (diff) | |
parent | 44774dc3238ca1e269c6acedcbdfb449780c96f9 (diff) | |
download | tcl-c85162575b2a6ba6d8b7103a103d8724c2d51e03.zip tcl-c85162575b2a6ba6d8b7103a103d8724c2d51e03.tar.gz tcl-c85162575b2a6ba6d8b7103a103d8724c2d51e03.tar.bz2 |
Fix [e6f27aa56fa51bfc1752ce768bf0d301c60bfd2c|e6f27aa56f]: Update libtommath to 1.0
Diffstat (limited to 'libtommath/bn_mp_exteuclid.c')
-rw-r--r-- | libtommath/bn_mp_exteuclid.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libtommath/bn_mp_exteuclid.c b/libtommath/bn_mp_exteuclid.c index 2e69ce1..fbbd92c 100644 --- a/libtommath/bn_mp_exteuclid.c +++ b/libtommath/bn_mp_exteuclid.c @@ -1,4 +1,4 @@ -#include <tommath.h> +#include <tommath_private.h> #ifdef BN_MP_EXTEUCLID_C /* LibTomMath, multiple-precision integer library -- Tom St Denis * @@ -12,10 +12,10 @@ * The library is free for all purposes without any express * guarantee it works. * - * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com + * Tom St Denis, tstdenis82@gmail.com, http://libtom.org */ -/* Extended euclidean algorithm of (a, b) produces +/* Extended euclidean algorithm of (a, b) produces a*u1 + b*u2 = u3 */ int mp_exteuclid(mp_int *a, mp_int *b, mp_int *U1, mp_int *U2, mp_int *U3) @@ -61,9 +61,9 @@ int mp_exteuclid(mp_int *a, mp_int *b, mp_int *U1, mp_int *U2, mp_int *U3) /* make sure U3 >= 0 */ if (u3.sign == MP_NEG) { - mp_neg(&u1, &u1); - mp_neg(&u2, &u2); - mp_neg(&u3, &u3); + if ((err = mp_neg(&u1, &u1)) != MP_OKAY) { goto _ERR; } + if ((err = mp_neg(&u2, &u2)) != MP_OKAY) { goto _ERR; } + if ((err = mp_neg(&u3, &u3)) != MP_OKAY) { goto _ERR; } } /* copy result out */ @@ -76,3 +76,7 @@ _ERR: mp_clear_multi(&u1, &u2, &u3, &v1, &v2, &v3, &t1, &t2, &t3, &q, &tmp, NULL return err; } #endif + +/* $Source$ */ +/* $Revision$ */ +/* $Date$ */ |