check return value from TALER_amount_get_zero

This commit is contained in:
Christian Grothoff 2017-10-06 20:54:42 +02:00
parent 2f715c27f8
commit dbab0c6587
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
7 changed files with 39 additions and 31 deletions

View File

@ -42,7 +42,6 @@ TALER_EXCHANGE_verify_coin_history (const char *currency,
struct TALER_Amount *total) struct TALER_Amount *total)
{ {
size_t len; size_t len;
size_t off;
int add; int add;
struct TALER_Amount rtotal; struct TALER_Amount rtotal;
@ -57,11 +56,13 @@ TALER_EXCHANGE_verify_coin_history (const char *currency,
GNUNET_break_op (0); GNUNET_break_op (0);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
TALER_amount_get_zero (currency, GNUNET_assert (GNUNET_OK ==
total); TALER_amount_get_zero (currency,
TALER_amount_get_zero (currency, total));
&rtotal); GNUNET_assert (GNUNET_OK ==
for (off=0;off<len;off++) TALER_amount_get_zero (currency,
&rtotal));
for (size_t off=0;off<len;off++)
{ {
json_t *transaction; json_t *transaction;
struct TALER_Amount amount; struct TALER_Amount amount;

View File

@ -104,10 +104,12 @@ parse_reserve_history (struct TALER_EXCHANGE_Handle *exchange,
struct TALER_Amount total_out; struct TALER_Amount total_out;
size_t off; size_t off;
TALER_amount_get_zero (currency, GNUNET_assert (GNUNET_OK ==
&total_in); TALER_amount_get_zero (currency,
TALER_amount_get_zero (currency, &total_in));
&total_out); GNUNET_assert (GNUNET_OK ==
TALER_amount_get_zero (currency,
&total_out));
uuid_off = 0; uuid_off = 0;
for (off=0;off<history_length;off++) for (off=0;off<history_length;off++)
{ {

View File

@ -1006,8 +1006,9 @@ expired_reserve_cb (void *cls,
/* Closing fee higher than remaining balance, close /* Closing fee higher than remaining balance, close
without wire transfer. */ without wire transfer. */
closing_fee = left; closing_fee = left;
TALER_amount_get_zero (left->currency, GNUNET_assert (GNUNET_OK ==
&amount_without_fee); TALER_amount_get_zero (left->currency,
&amount_without_fee));
} }
/* NOTE: sizeof (*reserve_pub) == sizeof (wtid) right now, but to /* NOTE: sizeof (*reserve_pub) == sizeof (wtid) right now, but to

View File

@ -39,7 +39,7 @@
* attempts to commit the transaction. Upon soft failures, * attempts to commit the transaction. Upon soft failures,
* retries @a cb a few times. Upon hard or persistent soft * retries @a cb a few times. Upon hard or persistent soft
* errors, generates an error message for @a connection. * errors, generates an error message for @a connection.
* *
* @param connection MHD connection to run @a cb for * @param connection MHD connection to run @a cb for
* @param[out] set to MHD response code, if transaction failed * @param[out] set to MHD response code, if transaction failed
* @param cb callback implementing transaction logic * @param cb callback implementing transaction logic
@ -68,13 +68,13 @@ TEH_DB_run_transaction (struct MHD_Connection *connection,
{ {
enum GNUNET_DB_QueryStatus qs; enum GNUNET_DB_QueryStatus qs;
if (GNUNET_OK != if (GNUNET_OK !=
TEH_plugin->start (TEH_plugin->cls, TEH_plugin->start (TEH_plugin->cls,
session)) session))
{ {
GNUNET_break (0); GNUNET_break (0);
if (NULL != mhd_ret) 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); TALER_EC_DB_START_FAILED);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
@ -84,12 +84,12 @@ TEH_DB_run_transaction (struct MHD_Connection *connection,
mhd_ret); mhd_ret);
if (0 > qs) if (0 > qs)
TEH_plugin->rollback (TEH_plugin->cls, TEH_plugin->rollback (TEH_plugin->cls,
session); session);
if (GNUNET_DB_STATUS_HARD_ERROR == qs) if (GNUNET_DB_STATUS_HARD_ERROR == qs)
return GNUNET_SYSERR; return GNUNET_SYSERR;
if (0 <= qs) if (0 <= qs)
qs = TEH_plugin->commit (TEH_plugin->cls, qs = TEH_plugin->commit (TEH_plugin->cls,
session); session);
if (GNUNET_DB_STATUS_HARD_ERROR == qs) if (GNUNET_DB_STATUS_HARD_ERROR == qs)
{ {
if (NULL != mhd_ret) 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_EXCHANGEDB_TransactionList *pos;
struct TALER_Amount refunded; struct TALER_Amount refunded;
TALER_amount_get_zero (spent.currency, GNUNET_assert (GNUNET_OK ==
&refunded); TALER_amount_get_zero (spent.currency,
&refunded));
for (pos = tl; NULL != pos; pos = pos->next) for (pos = tl; NULL != pos; pos = pos->next)
{ {
switch (pos->type) switch (pos->type)

View File

@ -115,7 +115,7 @@ struct PaybackContext
* Details about the coin. * Details about the coin.
*/ */
const struct TALER_CoinPublicInfo *coin; const struct TALER_CoinPublicInfo *coin;
/** /**
* Key used to blind the coin. * Key used to blind the coin.
*/ */
@ -174,7 +174,7 @@ payback_transaction (void *cls,
struct TALER_EXCHANGEDB_TransactionList *tl; struct TALER_EXCHANGEDB_TransactionList *tl;
struct TALER_Amount spent; struct TALER_Amount spent;
enum GNUNET_DB_QueryStatus qs; enum GNUNET_DB_QueryStatus qs;
/* Check whether a payback is allowed, and if so, to which /* Check whether a payback is allowed, and if so, to which
reserve / account the money should go */ reserve / account the money should go */
qs = TEH_plugin->get_reserve_by_h_blind (TEH_plugin->cls, qs = TEH_plugin->get_reserve_by_h_blind (TEH_plugin->cls,
@ -214,8 +214,9 @@ payback_transaction (void *cls,
} }
return qs; return qs;
} }
TALER_amount_get_zero (pc->value.currency, GNUNET_assert (GNUNET_OK ==
&spent); TALER_amount_get_zero (pc->value.currency,
&spent));
if (GNUNET_OK != if (GNUNET_OK !=
TEH_DB_calculate_transaction_list_totals (tl, TEH_DB_calculate_transaction_list_totals (tl,
&spent, &spent,
@ -386,7 +387,7 @@ verify_and_execute_payback (struct MHD_Connection *connection,
&payback_transaction, &payback_transaction,
&pc)) &pc))
return mhd_ret; return mhd_ret;
return reply_payback_success (connection, return reply_payback_success (connection,
&coin->coin_pub, &coin->coin_pub,
&pc.reserve_pub, &pc.reserve_pub,

View File

@ -309,8 +309,9 @@ withdraw_transaction (void *cls,
if (0 == (res & 2)) if (0 == (res & 2))
{ {
/* did not encounter any withdraw operations, set to zero */ /* did not encounter any withdraw operations, set to zero */
TALER_amount_get_zero (deposit_total.currency, GNUNET_assert (GNUNET_OK ==
&withdraw_total); TALER_amount_get_zero (deposit_total.currency,
&withdraw_total));
} }
/* All reserve balances should be non-negative */ /* All reserve balances should be non-negative */
if (GNUNET_SYSERR == if (GNUNET_SYSERR ==

View File

@ -879,8 +879,9 @@ TEH_RESPONSE_compile_reserve_history (const struct TALER_EXCHANGEDB_ReserveHisto
if (0 == (2 & ret)) if (0 == (2 & ret))
{ {
/* did not encounter any withdraw operations, set to zero */ /* did not encounter any withdraw operations, set to zero */
TALER_amount_get_zero (deposit_total.currency, GNUNET_assert (GNUNET_OK ==
&withdraw_total); TALER_amount_get_zero (deposit_total.currency,
&withdraw_total));
} }
if (GNUNET_SYSERR == if (GNUNET_SYSERR ==
TALER_amount_subtract (balance, TALER_amount_subtract (balance,