aboutsummaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_purses_create.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-06-07 15:02:08 +0200
committerChristian Grothoff <christian@grothoff.org>2022-06-07 15:02:16 +0200
commitb9a30d29cb91ec66c3bb8d956640d20e641b6a4d (patch)
tree4ad72e722981bb1ef68a643a7f9cff6f1323497b /src/exchange/taler-exchange-httpd_purses_create.c
parent013942ba917958d31a9923f612f4c0f388f7b178 (diff)
-fix minor bugs
Diffstat (limited to 'src/exchange/taler-exchange-httpd_purses_create.c')
-rw-r--r--src/exchange/taler-exchange-httpd_purses_create.c23
1 files changed, 19 insertions, 4 deletions
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,