exchange

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

commit 755f4cb4a99cbc7354e47a8e4be04c23adf51678
parent 121a0692ea76ef40a4ad3f97f558139053fc7a2e
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 19 Aug 2018 18:03:52 +0200

fix handling of withdraw failure

Diffstat:
Msrc/exchange/taler-exchange-httpd_reserve_withdraw.c | 7++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd_reserve_withdraw.c b/src/exchange/taler-exchange-httpd_reserve_withdraw.c @@ -217,8 +217,6 @@ withdraw_transaction (void *cls, GNUNET_assert (0 == qs); wc->collectable.sig = denom_sig; - - /* Check if balance is sufficient */ r.pub = wc->wsrd.reserve_pub; qs = TEH_plugin->reserve_get (TEH_plugin->cls, @@ -238,7 +236,6 @@ withdraw_transaction (void *cls, "reserve_pub"); return GNUNET_DB_STATUS_HARD_ERROR; } - if (0 < TALER_amount_cmp (&wc->amount_required, &r.balance)) { @@ -249,12 +246,12 @@ withdraw_transaction (void *cls, session, &wc->wsrd.reserve_pub, &rh); - if (0 >= qs) + if (NULL == rh) { if (GNUNET_DB_STATUS_HARD_ERROR == qs) *mhd_ret = TEH_RESPONSE_reply_internal_db_error (connection, TALER_EC_WITHDRAW_DB_FETCH_ERROR); - return qs; + return GNUNET_DB_STATUS_HARD_ERROR; } *mhd_ret = reply_reserve_withdraw_insufficient_funds (connection, rh);