exchange

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

commit 8c7e073aa7d45f4dc8ce9b0a517cc03fba2f3fad
parent af6e22890a2cd71ce93be160a4cd4122b7cbef88
Author: Florian Dold <dold@taler.net>
Date:   Sun,  6 Sep 2026 12:41:06 +0200

signing helper: check the purpose header size

The signing purpose excludes the helper request envelope. Compare its
size with the purpose header to accept valid small signing payloads.

Diffstat:
Msrc/util/crypto_helper_esign.c | 3+--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/util/crypto_helper_esign.c b/src/util/crypto_helper_esign.c @@ -370,8 +370,7 @@ TALER_CRYPTO_helper_esign_sign_ ( "Failed to connect to helper\n"); return TALER_EC_EXCHANGE_SIGNKEY_HELPER_UNAVAILABLE; } - GNUNET_assert (purpose_size >= - sizeof (struct TALER_CRYPTO_EddsaSignRequest)); + GNUNET_assert (purpose_size >= sizeof (*purpose)); GNUNET_assert (purpose_size < UINT16_MAX - sizeof (struct TALER_CRYPTO_EddsaSignRequest)); {