From dbab0c658734c14436a89bd7fc76b295cbcf5448 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 6 Oct 2017 20:54:42 +0200 Subject: check return value from TALER_amount_get_zero --- src/exchange-lib/exchange_api_common.c | 13 +++++++------ src/exchange-lib/exchange_api_reserve.c | 10 ++++++---- src/exchange/taler-exchange-aggregator.c | 5 +++-- src/exchange/taler-exchange-httpd_db.c | 21 +++++++++++---------- src/exchange/taler-exchange-httpd_payback.c | 11 ++++++----- .../taler-exchange-httpd_reserve_withdraw.c | 5 +++-- src/exchange/taler-exchange-httpd_responses.c | 5 +++-- 7 files changed, 39 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/exchange-lib/exchange_api_common.c b/src/exchange-lib/exchange_api_common.c index 99086a71f..9d2a827f2 100644 --- a/src/exchange-lib/exchange_api_common.c +++ b/src/exchange-lib/exchange_api_common.c @@ -42,7 +42,6 @@ TALER_EXCHANGE_verify_coin_history (const char *currency, struct TALER_Amount *total) { size_t len; - size_t off; int add; struct TALER_Amount rtotal; @@ -57,11 +56,13 @@ TALER_EXCHANGE_verify_coin_history (const char *currency, GNUNET_break_op (0); return GNUNET_SYSERR; } - TALER_amount_get_zero (currency, - total); - TALER_amount_get_zero (currency, - &rtotal); - for (off=0;offcurrency, - &amount_without_fee); + GNUNET_assert (GNUNET_OK == + TALER_amount_get_zero (left->currency, + &amount_without_fee)); } /* NOTE: sizeof (*reserve_pub) == sizeof (wtid) right now, but to diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c index f2e1f7b39..30bc33e17 100644 --- a/src/exchange/taler-exchange-httpd_db.c +++ b/src/exchange/taler-exchange-httpd_db.c @@ -39,7 +39,7 @@ * attempts to commit the transaction. Upon soft failures, * retries @a cb a few times. Upon hard or persistent soft * errors, generates an error message for @a connection. - * + * * @param connection MHD connection to run @a cb for * @param[out] set to MHD response code, if transaction failed * @param cb callback implementing transaction logic @@ -68,13 +68,13 @@ TEH_DB_run_transaction (struct MHD_Connection *connection, { enum GNUNET_DB_QueryStatus qs; - if (GNUNET_OK != - TEH_plugin->start (TEH_plugin->cls, - session)) - { + if (GNUNET_OK != + TEH_plugin->start (TEH_plugin->cls, + session)) + { GNUNET_break (0); if (NULL != mhd_ret) - *mhd_ret = TEH_RESPONSE_reply_internal_db_error (connection, + *mhd_ret = TEH_RESPONSE_reply_internal_db_error (connection, TALER_EC_DB_START_FAILED); return GNUNET_SYSERR; } @@ -84,12 +84,12 @@ TEH_DB_run_transaction (struct MHD_Connection *connection, mhd_ret); if (0 > qs) TEH_plugin->rollback (TEH_plugin->cls, - session); + session); if (GNUNET_DB_STATUS_HARD_ERROR == qs) return GNUNET_SYSERR; if (0 <= qs) qs = TEH_plugin->commit (TEH_plugin->cls, - session); + session); if (GNUNET_DB_STATUS_HARD_ERROR == qs) { if (NULL != mhd_ret) @@ -132,8 +132,9 @@ TEH_DB_calculate_transaction_list_totals (struct TALER_EXCHANGEDB_TransactionLis struct TALER_EXCHANGEDB_TransactionList *pos; struct TALER_Amount refunded; - TALER_amount_get_zero (spent.currency, - &refunded); + GNUNET_assert (GNUNET_OK == + TALER_amount_get_zero (spent.currency, + &refunded)); for (pos = tl; NULL != pos; pos = pos->next) { switch (pos->type) diff --git a/src/exchange/taler-exchange-httpd_payback.c b/src/exchange/taler-exchange-httpd_payback.c index 8b4051cb7..d8e1dd8ff 100644 --- a/src/exchange/taler-exchange-httpd_payback.c +++ b/src/exchange/taler-exchange-httpd_payback.c @@ -115,7 +115,7 @@ struct PaybackContext * Details about the coin. */ const struct TALER_CoinPublicInfo *coin; - + /** * Key used to blind the coin. */ @@ -174,7 +174,7 @@ payback_transaction (void *cls, struct TALER_EXCHANGEDB_TransactionList *tl; struct TALER_Amount spent; enum GNUNET_DB_QueryStatus qs; - + /* Check whether a payback is allowed, and if so, to which reserve / account the money should go */ qs = TEH_plugin->get_reserve_by_h_blind (TEH_plugin->cls, @@ -214,8 +214,9 @@ payback_transaction (void *cls, } return qs; } - TALER_amount_get_zero (pc->value.currency, - &spent); + GNUNET_assert (GNUNET_OK == + TALER_amount_get_zero (pc->value.currency, + &spent)); if (GNUNET_OK != TEH_DB_calculate_transaction_list_totals (tl, &spent, @@ -386,7 +387,7 @@ verify_and_execute_payback (struct MHD_Connection *connection, &payback_transaction, &pc)) return mhd_ret; - + return reply_payback_success (connection, &coin->coin_pub, &pc.reserve_pub, diff --git a/src/exchange/taler-exchange-httpd_reserve_withdraw.c b/src/exchange/taler-exchange-httpd_reserve_withdraw.c index 4dad473b3..c410cea20 100644 --- a/src/exchange/taler-exchange-httpd_reserve_withdraw.c +++ b/src/exchange/taler-exchange-httpd_reserve_withdraw.c @@ -309,8 +309,9 @@ withdraw_transaction (void *cls, if (0 == (res & 2)) { /* did not encounter any withdraw operations, set to zero */ - TALER_amount_get_zero (deposit_total.currency, - &withdraw_total); + GNUNET_assert (GNUNET_OK == + TALER_amount_get_zero (deposit_total.currency, + &withdraw_total)); } /* All reserve balances should be non-negative */ if (GNUNET_SYSERR == diff --git a/src/exchange/taler-exchange-httpd_responses.c b/src/exchange/taler-exchange-httpd_responses.c index e461a95c7..1b45a0cc7 100644 --- a/src/exchange/taler-exchange-httpd_responses.c +++ b/src/exchange/taler-exchange-httpd_responses.c @@ -879,8 +879,9 @@ TEH_RESPONSE_compile_reserve_history (const struct TALER_EXCHANGEDB_ReserveHisto if (0 == (2 & ret)) { /* did not encounter any withdraw operations, set to zero */ - TALER_amount_get_zero (deposit_total.currency, - &withdraw_total); + GNUNET_assert (GNUNET_OK == + TALER_amount_get_zero (deposit_total.currency, + &withdraw_total)); } if (GNUNET_SYSERR == TALER_amount_subtract (balance, -- cgit v1.2.3