merchant

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

commit 1a5f1cbdb517dc3b570f28fdedf2f136fbb0f2a8
parent 66472c927d16f35b57d3d22d2d64ff6cd1195398
Author: Christian Grothoff <christian@grothoff.org>
Date:   Wed, 27 May 2026 17:21:53 +0200

fix NULL assertion if no exchanges are available at all

Diffstat:
Msrc/backend/taler-merchant-httpd_post-private-orders.c | 13++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_post-private-orders.c b/src/backend/taler-merchant-httpd_post-private-orders.c @@ -1794,8 +1794,10 @@ add_output_token_family (struct OrderContext *oc, return GNUNET_SYSERR; case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS: GNUNET_log (GNUNET_ERROR_TYPE_WARNING, - "Output token family slug %s unknown\n", - slug); + "Output token family slug %s unknown at %llu for %llu\n", + slug, + (unsigned long long) valid_at.abs_time.abs_value_us, + (unsigned long long) oc->parse_order.order->pay_deadline.abs_time.abs_value_us); reply_with_error (oc, MHD_HTTP_NOT_FOUND, TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_TOKEN_FAMILY_SLUG_UNKNOWN, @@ -2400,9 +2402,10 @@ phase_select_wire_method (struct OrderContext *oc) GNUNET_JSON_PACK ( TALER_JSON_pack_ec ( TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_AMOUNT_EXCEEDS_LEGAL_LIMITS), - GNUNET_JSON_pack_array_incref ( - "exchange_rejections", - oc->set_exchanges.exchange_rejections)), + GNUNET_JSON_pack_allow_null ( + GNUNET_JSON_pack_array_incref ( + "exchange_rejections", + oc->set_exchanges.exchange_rejections))), MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS); finalize_order (oc, mret);