From 8a886c8284d0088b4fb25173cd742bbf20d02698 Mon Sep 17 00:00:00 2001 From: czurnieden Date: Wed, 10 Apr 2019 16:33:22 +0200 Subject: [PATCH] resolving #218 --- bn_mp_ilogb.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bn_mp_ilogb.c b/bn_mp_ilogb.c index d1ff4e9ba..9c32c5b5c 100644 --- a/bn_mp_ilogb.c +++ b/bn_mp_ilogb.c @@ -90,7 +90,9 @@ int mp_ilogb(mp_int *a, mp_digit base, mp_int *c) } if (base == 2u) { cmp = mp_count_bits(a) - 1; - mp_set_int(c, (unsigned long)cmp); + if ((err = mp_set_int(c, (unsigned long)cmp)) != MP_OKAY) { + goto LBL_ERR; + } return err; } if (a->used == 1) { @@ -163,15 +165,21 @@ int mp_ilogb(mp_int *a, mp_digit base, mp_int *c) mp_exch(&bracket_mid, &bracket_low); } if (cmp == MP_EQ) { - mp_set_int(c, (unsigned long)mid); + if ((err = mp_set_int(c, (unsigned long)mid)) != MP_OKAY) { + goto LBL_ERR; + } goto LBL_END; } } if (mp_cmp(&bracket_high, a) == MP_EQ) { - mp_set_int(c, (unsigned long)high); + if ((err = mp_set_int(c, (unsigned long)high)) != MP_OKAY) { + goto LBL_ERR; + } } else { - mp_set_int(c, (unsigned long)low); + if ((err = mp_set_int(c, (unsigned long)low)) != MP_OKAY) { + goto LBL_ERR; + } } LBL_END: