From 245e757438c9632affa3c042258c59b096183d10 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 12 Apr 2021 20:29:02 +0200 Subject: do not hang in taler-auditor-offline if sign output is empty --- src/exchange-tools/taler-auditor-offline.c | 11 +++++++---- src/exchange-tools/taler-exchange-offline.c | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/exchange-tools/taler-auditor-offline.c b/src/exchange-tools/taler-auditor-offline.c index eeec26012..f4bd93d53 100644 --- a/src/exchange-tools/taler-auditor-offline.c +++ b/src/exchange-tools/taler-auditor-offline.c @@ -289,8 +289,7 @@ output_operation (const char *op_name, { json_t *action; - if (NULL == out) - out = json_array (); + GNUNET_assert (NULL != out); action = json_pack ("{ s:s, s:o }", "operation", op_name, @@ -526,6 +525,8 @@ trigger_upload (const char *exchange_url) return; } } + /* test here, in case no upload was triggered (i.e. empty input) */ + test_shutdown (); } @@ -1161,8 +1162,6 @@ do_sign (char *const *args) json_decref (keys); return; } - - if (GNUNET_OK != GNUNET_JSON_parse (keys, spec, @@ -1189,6 +1188,8 @@ do_sign (char *const *args) json_decref (keys); return; } + if (NULL == out) + out = json_array (); if (GNUNET_OK != sign_denomkeys (denomkeys)) { @@ -1220,6 +1221,8 @@ do_setup (char *const *args) } if (NULL != *args) { + if (NULL == out) + out = json_array (); output_operation (OP_SETUP, json_pack ("{s:o}", "auditor_pub", diff --git a/src/exchange-tools/taler-exchange-offline.c b/src/exchange-tools/taler-exchange-offline.c index 7deac3053..ee173f11b 100644 --- a/src/exchange-tools/taler-exchange-offline.c +++ b/src/exchange-tools/taler-exchange-offline.c @@ -1953,7 +1953,6 @@ do_add_auditor (char *const *args) return; now = GNUNET_TIME_absolute_get (); (void) GNUNET_TIME_round_abs (&now); - TALER_exchange_offline_auditor_add_sign (&auditor_pub, args[1], now, -- cgit v1.2.3