commit 9e46fcb6ea14e0a0039add6e52c05561e7f1016e
parent af660c11f94d80edd8f89ccaca9da2195e23ffcc
Author: Christian Grothoff <christian@grothoff.org>
Date: Tue, 3 Nov 2026 22:52:12 +0100
properly propagate TX failure up
Diffstat:
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/auditor/taler-helper-auditor-coins.c b/src/auditor/taler-helper-auditor-coins.c
@@ -2471,17 +2471,20 @@ purse_refund_cb (struct CoinContext *cc,
(void) reserve_pub; /* irrelevant, may even be NULL */
GNUNET_assert (rowid >=
TALER_ARL_USE_PP (coins_purse_refunds_serial_id)); /* should be monotonically increasing */
- TALER_ARL_USE_PP (coins_purse_refunds_serial_id) = rowid + 1;
- qs = TALER_EXCHANGEDB_iterate_purse_deposits_by_purse (TALER_ARL_edb,
- purse_pub,
- &
- purse_refund_coin_cb,
- cc);
+ qs = TALER_EXCHANGEDB_iterate_purse_deposits_by_purse (
+ TALER_ARL_edb,
+ purse_pub,
+ &purse_refund_coin_cb,
+ cc);
if (qs < 0)
{
GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
+ cc->qs = qs;
return GNUNET_SYSERR;
}
+ if (0 > cc->qs)
+ return GNUNET_SYSERR; /* #purse_refund_coin_cb() failed */
+ TALER_ARL_USE_PP (coins_purse_refunds_serial_id) = rowid + 1;
return GNUNET_OK;
}