commit a646602fd2907f48d77c6582767737ce55425cef
parent f0f36b4f1b82024eb775bb65ae29861350806da3
Author: Christian Grothoff <grothoff@gnunet.org>
Date: Thu, 16 Jul 2026 01:43:23 +0200
fix missing return path
Diffstat:
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/backend/taler-merchant-httpd_post-private-accounts-H_WIRE-kycauth.c b/src/backend/taler-merchant-httpd_post-private-accounts-H_WIRE-kycauth.c
@@ -395,10 +395,16 @@ registration_cb (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Bank gateway registration failed with HTTP status %u\n",
rr->http_status);
- kac->response_code = MHD_HTTP_BAD_GATEWAY;
- kac->response = TALER_MHD_make_error (
- TALER_EC_MERCHANT_POST_ACCOUNTS_KYCAUTH_BANK_GATEWAY_UNREACHABLE,
- "bank gateway /registration failed");
+ if (NULL == kac->response)
+ {
+ kac->response_code = MHD_HTTP_BAD_GATEWAY;
+ kac->response = TALER_MHD_make_error (
+ TALER_EC_MERCHANT_POST_ACCOUNTS_KYCAUTH_BANK_GATEWAY_UNREACHABLE,
+ "bank gateway /registration failed");
+ kac->phase = KP_RETURN_RESPONSE;
+ kac_resume (kac);
+ }
+ return;
}
GNUNET_free (acc->subjects);
acc->num_subjects = rr->details.ok.num_subjects;
@@ -442,6 +448,7 @@ process_keys_cb (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Could not get /keys from exchange `%s'\n",
kac->exchange_url);
+ GNUNET_assert (NULL == kac->response);
kac->response_code = MHD_HTTP_BAD_GATEWAY;
kac->response = TALER_MHD_make_error (
TALER_EC_MERCHANT_POST_ACCOUNTS_KYCAUTH_EXCHANGE_UNREACHABLE,
@@ -455,6 +462,7 @@ process_keys_cb (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Exchange `%s' did not provide tiny_amount in /keys\n",
kac->exchange_url);
+ GNUNET_assert (NULL == kac->response);
kac->response_code = MHD_HTTP_BAD_GATEWAY;
kac->response = TALER_MHD_make_error (
TALER_EC_MERCHANT_POST_ACCOUNTS_EXCHANGE_TOO_OLD,
@@ -472,6 +480,7 @@ process_keys_cb (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Exchange `%s' did not provide any wire accounts in /keys\n",
kac->exchange_url);
+ GNUNET_assert (NULL == kac->response);
kac->response_code = MHD_HTTP_BAD_GATEWAY;
kac->response = TALER_MHD_make_error (
TALER_EC_MERCHANT_GENERIC_EXCHANGE_UNEXPECTED_STATUS,
@@ -514,6 +523,7 @@ process_keys_cb (void *cls,
if (NULL == acc->brh)
{
GNUNET_break (0);
+ GNUNET_assert (NULL == kac->response);
kac->response_code = MHD_HTTP_INTERNAL_SERVER_ERROR;
kac->response = TALER_MHD_make_error (
TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE,