From eb32dd626a61ab98db4f505aad9a2b9b7cfd6494 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 28 Mar 2020 23:32:02 +0100 Subject: fix leaks and bad RC logic wrt json reference copying --- src/testing/testing_api_cmd_deposit.c | 21 ++++++++++----------- src/testing/testing_api_cmd_refresh.c | 18 ++++++++---------- 2 files changed, 18 insertions(+), 21 deletions(-) (limited to 'src/testing') diff --git a/src/testing/testing_api_cmd_deposit.c b/src/testing/testing_api_cmd_deposit.c index 666805124..fcba7f270 100644 --- a/src/testing/testing_api_cmd_deposit.c +++ b/src/testing/testing_api_cmd_deposit.c @@ -294,9 +294,8 @@ deposit_run (void *cls, const struct TALER_TESTING_Command *cmd; struct DepositState *ods; - cmd = TALER_TESTING_interpreter_lookup_command - (is, - ds->deposit_reference); + cmd = TALER_TESTING_interpreter_lookup_command (is, + ds->deposit_reference); if (NULL == cmd) { GNUNET_break (0); @@ -306,8 +305,8 @@ deposit_run (void *cls, ods = cmd->cls; ds->coin_reference = ods->coin_reference; ds->coin_index = ods->coin_index; - ds->wire_details = ods->wire_details; - ds->contract_terms = ods->contract_terms; + ds->wire_details = json_incref (ods->wire_details); + ds->contract_terms = json_incref (ods->contract_terms); ds->timestamp = ods->timestamp; ds->refund_deadline = ods->refund_deadline; ds->amount = ods->amount; @@ -319,9 +318,9 @@ deposit_run (void *cls, /* We're copying the merchant key from another deposit operation */ const struct TALER_MerchantPrivateKeyP *merchant_priv; const struct TALER_TESTING_Command *cmd; - cmd = TALER_TESTING_interpreter_lookup_command - (is, - ds->merchant_priv_reference); + + cmd = TALER_TESTING_interpreter_lookup_command (is, + ds->merchant_priv_reference); if (NULL == cmd) { GNUNET_break (0); @@ -340,9 +339,8 @@ deposit_run (void *cls, ds->merchant_priv = *merchant_priv; } GNUNET_assert (ds->coin_reference); - coin_cmd = TALER_TESTING_interpreter_lookup_command - (is, - ds->coin_reference); + coin_cmd = TALER_TESTING_interpreter_lookup_command (is, + ds->coin_reference); if (NULL == coin_cmd) { GNUNET_break (0); @@ -743,6 +741,7 @@ TALER_TESTING_cmd_deposit_replay (const char *label, unsigned int expected_response_code) { struct DepositState *ds; + ds = GNUNET_new (struct DepositState); ds->deposit_reference = deposit_reference; ds->expected_response_code = expected_response_code; diff --git a/src/testing/testing_api_cmd_refresh.c b/src/testing/testing_api_cmd_refresh.c index f290a5add..cfee28dd1 100644 --- a/src/testing/testing_api_cmd_refresh.c +++ b/src/testing/testing_api_cmd_refresh.c @@ -459,9 +459,8 @@ refresh_reveal_run (void *cls, const struct TALER_TESTING_Command *melt_cmd; rrs->is = is; - melt_cmd = TALER_TESTING_interpreter_lookup_command - (is, rrs->melt_reference); - + melt_cmd = TALER_TESTING_interpreter_lookup_command (is, + rrs->melt_reference); if (NULL == melt_cmd) { GNUNET_break (0); @@ -469,12 +468,12 @@ refresh_reveal_run (void *cls, return; } rms = melt_cmd->cls; - rrs->rrh = TALER_EXCHANGE_refreshes_reveal - (is->exchange, - rms->refresh_data_length, - rms->refresh_data, - rms->noreveal_index, - &reveal_cb, rrs); + rrs->rrh = TALER_EXCHANGE_refreshes_reveal (is->exchange, + rms->refresh_data_length, + rms->refresh_data, + rms->noreveal_index, + &reveal_cb, + rrs); if (NULL == rrs->rrh) { @@ -504,7 +503,6 @@ refresh_reveal_cleanup (void *cls, "Command %u (%s) did not complete\n", rrs->is->ip, cmd->label); - TALER_EXCHANGE_refreshes_reveal_cancel (rrs->rrh); rrs->rrh = NULL; } -- cgit v1.2.3