commit 7456ef646409571e0fefc5044a6c1d2ffca7a955
parent 95704454b53cc870d58b29839aaeb088e0cd4538
Author: Christian Grothoff <christian@grothoff.org>
Date: Mon, 29 Jun 2026 23:06:10 +0200
add missing error handling
Diffstat:
2 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/src/exchange/taler-exchange-drain.c b/src/exchange/taler-exchange-drain.c
@@ -322,6 +322,31 @@ run_drain (void *cls)
GNUNET_free (buf);
}
GNUNET_free (payto_uri.full_payto);
+ switch (qs)
+ {
+ case GNUNET_DB_STATUS_HARD_ERROR:
+ TALER_EXCHANGEDB_rollback (pg);
+ GNUNET_break (0);
+ global_ret = EXIT_FAILURE;
+ GNUNET_SCHEDULER_shutdown ();
+ return;
+ case GNUNET_DB_STATUS_SOFT_ERROR:
+ TALER_EXCHANGEDB_rollback (pg);
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Failed: database serialization issue\n");
+ global_ret = EXIT_FAILURE;
+ GNUNET_SCHEDULER_shutdown ();
+ return;
+ case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
+ TALER_EXCHANGEDB_rollback (pg);
+ GNUNET_break (0);
+ global_ret = EXIT_FAILURE;
+ GNUNET_SCHEDULER_shutdown ();
+ return;
+ default:
+ /* continued below */
+ break;
+ }
qs = TALER_EXCHANGEDB_profit_drains_set_finished (pg,
serial);
switch (qs)
diff --git a/src/exchange/taler-exchange-httpd_common_kyc.c b/src/exchange/taler-exchange-httpd_common_kyc.c
@@ -351,7 +351,12 @@ TEH_kyc_store_attributes (
{
form_id = json_string_value (json_object_get (new_attributes,
"FORM_ID"));
- GNUNET_assert (NULL != form_id);
+ if (NULL == form_id)
+ {
+ /* invalid input, FORM_ID is mandatory, caller is bad */
+ GNUNET_break (0);
+ return GNUNET_DB_STATUS_HARD_ERROR;
+ }
TALER_CRYPTO_kyc_attributes_encrypt (&TEH_attribute_key,
new_attributes,
&ea,