exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 7c485a21537c13132fadefae1787bd01c1bc195a
parent ec0b1b512c45b2ea9476e74d996444c92387b116
Author: Christian Grothoff <christian@grothoff.org>
Date:   Thu,  1 Apr 2021 10:57:04 +0200

fix overflow

Diffstat:
Msrc/lib/exchange_api_handle.c | 10++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c @@ -1863,8 +1863,14 @@ TALER_EXCHANGE_connect ( static long get_keys_timeout_seconds (struct TALER_EXCHANGE_Handle *exchange) { - return GNUNET_MIN (60, - 5 + (1L << exchange->keys_error_count)); + unsigned int kec; + + /* if retry counter >= 8, do not bother to go further, we + stop the exponential back-off at 128 anyway. */ + kec = GNUNET_MIN (7, + exchange->keys_error_count); + return GNUNET_MIN (120, + 5 + (1L << kec)); }