commit 52605d87b8ee478ebae3c3a1d272e277ca0084b8
parent 7c3e6bcb82aeb920bef37aaaceac7d31a3c502b7
Author: bohdan-potuzhnyi <bohdan.potuzhnyi@gmail.com>
Date: Mon, 4 Aug 2025 20:44:19 +0200
fixing some leaks
Diffstat:
2 files changed, 20 insertions(+), 26 deletions(-)
diff --git a/src/testing/testing_api_cmd_pay_order.c b/src/testing/testing_api_cmd_pay_order.c
@@ -1539,31 +1539,6 @@ TALER_TESTING_cmd_merchant_pay_order_donau (const char *label,
const char *salt)
{
struct PayState *ps;
- struct MerchantDonauPayData *mdpd;
-
- mdpd = GNUNET_new (struct MerchantDonauPayData);
- mdpd->year = year;
- mdpd->num_bkps = 5;
- mdpd->charity_reference = charity_reference;
-
- /* Here we generate the h_donor_tax_id*/
- {
- crypto_hash_sha512_state state;
- size_t tax_length = strlen (donor_tax_id);
- size_t salt_length = strlen (salt);
-
- crypto_hash_sha512_init (&state);
- crypto_hash_sha512_update (&state,
- (const unsigned char*) donor_tax_id,
- tax_length);
- crypto_hash_sha512_update (&state,
- (const unsigned char*) salt,
- salt_length);
- GNUNET_static_assert (sizeof (mdpd->h_donor_tax_id.hash) == 512 / 8);
- crypto_hash_sha512_final (&state,
- mdpd->h_donor_tax_id.hash);
- }
- /* End of hash generation */
ps = GNUNET_new (struct PayState);
ps->http_status = http_status;
@@ -1575,8 +1550,26 @@ TALER_TESTING_cmd_merchant_pay_order_donau (const char *label,
ps->session_id = session_id;
ps->token_reference = NULL;
ps->choice_index = choice_index;
- ps->donau_data = *mdpd; /* Adding prefilled data, for future processing*/
+ ps->donau_data.year = year;
+ ps->donau_data.num_bkps = 5;
+ ps->donau_data.charity_reference = charity_reference;
+ /* Compute h_donor_tax_id directly into ps->donau_data: */
+{
+ crypto_hash_sha512_state state;
+ size_t tax_length = strlen(donor_tax_id);
+ size_t salt_length = strlen(salt);
+ crypto_hash_sha512_init(&state);
+ crypto_hash_sha512_update(&state,
+ (const unsigned char*)donor_tax_id,
+ tax_length);
+ crypto_hash_sha512_update(&state,
+ (const unsigned char*)salt,
+ salt_length);
+ crypto_hash_sha512_final(&state,
+ ps->donau_data.h_donor_tax_id.hash);
+}
+
{
struct TALER_TESTING_Command cmd = {
.cls = ps,
diff --git a/src/testing/testing_api_cmd_post_donau_instances.c b/src/testing/testing_api_cmd_post_donau_instances.c
@@ -231,6 +231,7 @@ TALER_TESTING_cmd_merchant_post_donau_instance (const char *label,
.receipts_to_date = date_amount,
.current_year = 2025
};
+ GNUNET_free(charity_pub);
pds->merchant_reference = merchant_reference;
pds->merchant_url = url;