merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit a646602fd2907f48d77c6582767737ce55425cef
parent f0f36b4f1b82024eb775bb65ae29861350806da3
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Thu, 16 Jul 2026 01:43:23 +0200

fix missing return path

Diffstat:
Msrc/backend/taler-merchant-httpd_post-private-accounts-H_WIRE-kycauth.c | 18++++++++++++++----
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,