exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 0c32a8d2851b08b3f178219ab209b8bf482fae0c
parent 1d5841ec7caa9a28946d7e080d0ed747af144b55
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 12 Jul 2026 22:56:24 +0200

add missing lock

Diffstat:
Msrc/bank-lib/fakebank_tbi_post_withdrawal_operation.c | 8++++++--
Msrc/exchange/taler-exchange-httpd_post-melt.c | 2+-
2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/bank-lib/fakebank_tbi_post_withdrawal_operation.c b/src/bank-lib/fakebank_tbi_post_withdrawal_operation.c @@ -97,10 +97,14 @@ do_post_withdrawal ( { /* check if reserve_pub is already in use */ const struct GNUNET_PeerIdentity *pid; + bool duplicate; pid = (const struct GNUNET_PeerIdentity *) reserve_pub; - if (GNUNET_CONTAINER_multipeermap_contains (h->rpubs, - pid)) + GNUNET_assert (0 == pthread_mutex_lock (&h->rpubs_lock)); + duplicate = GNUNET_CONTAINER_multipeermap_contains (h->rpubs, + pid); + GNUNET_assert (0 == pthread_mutex_unlock (&h->rpubs_lock)); + if (duplicate) { GNUNET_assert (0 == pthread_mutex_unlock (&h->big_lock)); diff --git a/src/exchange/taler-exchange-httpd_post-melt.c b/src/exchange/taler-exchange-httpd_post-melt.c @@ -947,7 +947,7 @@ phase_check_coin_signature ( { k_transfer_pubs.num_transfer_pubs = mc->request.refresh.num_coins; for (uint8_t k = 0; k < TALER_CNC_KAPPA; k++) - k_transfer_pubs.batch[k] = &mc->request.refresh.transfer_pubs[k]; + k_transfer_pubs.batch[k] = mc->request.transfer_pubs[k]; } TALER_refresh_get_commitment (