diff options
Diffstat (limited to 'src/exchange')
-rw-r--r-- | src/exchange/taler-exchange-httpd_batch-withdraw.c | 5 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_purses_create.c | 23 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_purses_merge.c | 10 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_reserves_history.c | 18 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_reserves_purse.c | 18 |
5 files changed, 60 insertions, 14 deletions
diff --git a/src/exchange/taler-exchange-httpd_batch-withdraw.c b/src/exchange/taler-exchange-httpd_batch-withdraw.c index 52f42036..91d1ebd3 100644 --- a/src/exchange/taler-exchange-httpd_batch-withdraw.c +++ b/src/exchange/taler-exchange-httpd_batch-withdraw.c @@ -628,8 +628,9 @@ TEH_handler_batch_withdraw (struct TEH_RequestContext *rc, memset (&wc, 0, sizeof (wc)); - TALER_amount_set_zero (TEH_currency, - &wc.batch_total); + GNUNET_assert (GNUNET_OK == + TALER_amount_set_zero (TEH_currency, + &wc.batch_total)); wc.reserve_pub = reserve_pub; { diff --git a/src/exchange/taler-exchange-httpd_purses_create.c b/src/exchange/taler-exchange-httpd_purses_create.c index d6c942c6..cc5478d1 100644 --- a/src/exchange/taler-exchange-httpd_purses_create.c +++ b/src/exchange/taler-exchange-httpd_purses_create.c @@ -207,8 +207,9 @@ create_transaction (void *cls, struct TALER_Amount purse_fee; bool in_conflict = true; - TALER_amount_set_zero (pcc->amount.currency, - &purse_fee); + GNUNET_assert (GNUNET_OK == + TALER_amount_set_zero (pcc->amount.currency, + &purse_fee)); /* 1) create purse */ qs = TEH_plugin->insert_purse_request ( TEH_plugin->cls, @@ -739,8 +740,22 @@ TEH_handler_purses_create ( TALER_EC_GENERIC_PARAMETER_MALFORMED, "deposits"); } - gf = TEH_keys_global_fee_by_time (TEH_keys_get_state (), - pcc.exchange_timestamp); + { + struct TEH_KeyStateHandle *keys; + + keys = TEH_keys_get_state (); + if (NULL == keys) + { + GNUNET_break (0); + GNUNET_JSON_parse_free (spec); + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_INTERNAL_SERVER_ERROR, + TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING, + NULL); + } + gf = TEH_keys_global_fee_by_time (keys, + pcc.exchange_timestamp); + } if (NULL == gf) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, diff --git a/src/exchange/taler-exchange-httpd_purses_merge.c b/src/exchange/taler-exchange-httpd_purses_merge.c index 5f09f198..144571d2 100644 --- a/src/exchange/taler-exchange-httpd_purses_merge.c +++ b/src/exchange/taler-exchange-httpd_purses_merge.c @@ -162,8 +162,9 @@ reply_merge_success (struct MHD_Connection *connection, &pcc->target_amount, &pcc->wf->wad)) { - TALER_amount_set_zero (TEH_currency, - &merge_amount); + GNUNET_assert (GNUNET_OK == + TALER_amount_set_zero (TEH_currency, + &merge_amount)); } } if (TALER_EC_NONE != @@ -524,8 +525,9 @@ TEH_handler_purses_merge ( { struct TALER_Amount zero_purse_fee; - TALER_amount_set_zero (pcc.target_amount.currency, - &zero_purse_fee); + GNUNET_assert (GNUNET_OK == + TALER_amount_set_zero (pcc.target_amount.currency, + &zero_purse_fee)); if (GNUNET_OK != TALER_wallet_account_merge_verify ( pcc.merge_timestamp, diff --git a/src/exchange/taler-exchange-httpd_reserves_history.c b/src/exchange/taler-exchange-httpd_reserves_history.c index 4766dadc..1392dfc5 100644 --- a/src/exchange/taler-exchange-httpd_reserves_history.c +++ b/src/exchange/taler-exchange-httpd_reserves_history.c @@ -232,8 +232,22 @@ TEH_handler_reserves_history (struct TEH_RequestContext *rc, TALER_EC_EXCHANGE_GENERIC_CLOCK_SKEW, NULL); } - rsc.gf = TEH_keys_global_fee_by_time (TEH_keys_get_state (), - rsc.timestamp); + { + struct TEH_KeyStateHandle *keys; + + keys = TEH_keys_get_state (); + if (NULL == keys) + { + GNUNET_break (0); + GNUNET_JSON_parse_free (spec); + return TALER_MHD_reply_with_error (rc->connection, + MHD_HTTP_INTERNAL_SERVER_ERROR, + TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING, + NULL); + } + rsc.gf = TEH_keys_global_fee_by_time (keys, + rsc.timestamp); + } if (NULL == rsc.gf) { GNUNET_break (0); diff --git a/src/exchange/taler-exchange-httpd_reserves_purse.c b/src/exchange/taler-exchange-httpd_reserves_purse.c index 7aa00a50..fcf688d4 100644 --- a/src/exchange/taler-exchange-httpd_reserves_purse.c +++ b/src/exchange/taler-exchange-httpd_reserves_purse.c @@ -557,8 +557,22 @@ TEH_handler_reserves_purse ( TALER_EC_EXCHANGE_RESERVES_PURSE_EXPIRATION_IS_NEVER, NULL); } - rpc.gf = TEH_keys_global_fee_by_time (TEH_keys_get_state (), - rpc.exchange_timestamp); + { + struct TEH_KeyStateHandle *keys; + + keys = TEH_keys_get_state (); + if (NULL == keys) + { + GNUNET_break (0); + GNUNET_JSON_parse_free (spec); + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_INTERNAL_SERVER_ERROR, + TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING, + NULL); + } + rpc.gf = TEH_keys_global_fee_by_time (keys, + rpc.exchange_timestamp); + } if (NULL == rpc.gf) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |