commit 52fe9d657bd54e622e8b87070c29ac0ffc27c575 parent 7b5eb6137061128f987260ba681231e28ae260d5 Author: Christian Grothoff <christian@grothoff.org> Date: Fri, 19 Nov 2021 20:56:53 +0100 -fix leaks and compiler warnings Diffstat:
21 files changed, 154 insertions(+), 35 deletions(-)
diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c @@ -1386,6 +1386,7 @@ handle_admin_add_incoming (struct TALER_FAKEBANK_Handle *h, GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Currency `%s' does not match our configuration\n", amount.currency); + json_decref (json); return TALER_MHD_reply_with_error ( connection, MHD_HTTP_CONFLICT, @@ -1411,6 +1412,7 @@ handle_admin_add_incoming (struct TALER_FAKEBANK_Handle *h, { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Reserve public key not unique\n"); + json_decref (json); return TALER_MHD_reply_with_error ( connection, MHD_HTTP_CONFLICT, diff --git a/src/bank-lib/taler-exchange-wire-gateway-client.c b/src/bank-lib/taler-exchange-wire-gateway-client.c @@ -473,6 +473,7 @@ execute_wire_transfer (void) buf_size, &confirmation_cb, NULL); + GNUNET_free (buf); if (NULL == eh) { fprintf (stderr, diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c @@ -375,6 +375,8 @@ check_refresh_reveal_cb ( const struct TALER_TransferPublicKeyP *tpr) { (void) cls; + + GNUNET_assert (TALER_CNC_KAPPA - 1 == num_tprivs); /* compare the refresh commit coin arrays */ for (unsigned int cnt = 0; cnt < num_freshcoins; cnt++) { @@ -433,6 +435,7 @@ audit_refresh_session_cb (void *cls, (void) cls; (void) rowid; (void) denom_pub; + (void) coin_pub; (void) coin_sig; (void) amount_with_fee; (void) noreveal_index; @@ -717,6 +720,16 @@ cb_wt_never (void *cls, const struct TALER_Amount *coin_value, const struct TALER_Amount *coin_fee) { + (void) cls; + (void) serial_id; + (void) merchant_pub; + (void) account_payto_uri; + (void) exec_time; + (void) h_contract_terms; + (void) denom_pub; + (void) coin_pub; + (void) coin_value; + (void) coin_fee; GNUNET_assert (0); /* this statement should be unreachable */ } @@ -747,6 +760,8 @@ cb_wt_check (void *cls, const struct TALER_Amount *coin_value, const struct TALER_Amount *coin_fee) { + (void) row_id; + (void) denom_pub; GNUNET_assert (cls == &cb_wt_never); GNUNET_assert (0 == GNUNET_memcmp (merchant_pub, &merchant_pub_wt)); @@ -890,6 +905,12 @@ audit_deposit_cb (void *cls, const struct TALER_DenominationPublicKey *denom_pub, bool done) { + (void) cls; + (void) rowid; + (void) exchange_timestamp; + (void) deposit; + (void) denom_pub; + (void) done; auditor_row_cnt++; return GNUNET_OK; } @@ -911,7 +932,7 @@ audit_deposit_cb (void *cls, * @param amount_with_fee amount that was deposited including fee * @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop */ -static int +static enum GNUNET_GenericReturnValue audit_refund_cb (void *cls, uint64_t rowid, const struct TALER_DenominationPublicKey *denom_pub, @@ -948,7 +969,7 @@ audit_refund_cb (void *cls, * @param execution_date when did we receive the funds * @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop */ -static int +static enum GNUNET_GenericReturnValue audit_reserve_in_cb (void *cls, uint64_t rowid, const struct TALER_ReservePublicKeyP *reserve_pub, @@ -982,7 +1003,7 @@ audit_reserve_in_cb (void *cls, * @param amount_with_fee amount that was withdrawn * @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop */ -static int +static enum GNUNET_GenericReturnValue audit_reserve_out_cb (void *cls, uint64_t rowid, const struct TALER_BlindedCoinHash *h_blind_ev, @@ -1010,7 +1031,7 @@ audit_reserve_out_cb (void *cls, * * @return #GNUNET_OK on success */ -static int +static enum GNUNET_GenericReturnValue test_gc (void) { struct DenomKeyPair *dkp; @@ -1062,7 +1083,7 @@ test_gc (void) * * @return #GNUNET_OK on success */ -static int +static enum GNUNET_GenericReturnValue test_wire_fees (void) { struct GNUNET_TIME_Absolute start_date; @@ -1171,7 +1192,7 @@ static struct TALER_Amount wire_out_amount; * @param amount amount that was wired * @return #GNUNET_OK to continue, #GNUNET_SYSERR to stop iteration */ -static int +static enum GNUNET_GenericReturnValue audit_wire_cb (void *cls, uint64_t rowid, struct GNUNET_TIME_Absolute date, @@ -1179,6 +1200,9 @@ audit_wire_cb (void *cls, const char *payto_uri, const struct TALER_Amount *amount) { + (void) cls; + (void) rowid; + (void) payto_uri; auditor_row_cnt++; GNUNET_assert (0 == TALER_amount_cmp (amount, @@ -1196,7 +1220,7 @@ audit_wire_cb (void *cls, * * @return #GNUNET_OK on success */ -static int +static enum GNUNET_GenericReturnValue test_wire_out (const struct TALER_EXCHANGEDB_Deposit *deposit) { auditor_row_cnt = 0; @@ -1347,7 +1371,7 @@ drop: * @param coin_blind blinding factor used to blind the coin * @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop */ -static int +static enum GNUNET_GenericReturnValue recoup_cb (void *cls, uint64_t rowid, struct GNUNET_TIME_Absolute timestamp, @@ -1360,6 +1384,10 @@ recoup_cb (void *cls, { const union TALER_DenominationBlindingKeyP *cb = cls; + (void) timestamp; + (void) amount; + (void) reserve_pub; + (void) coin_sig; FAILIF (NULL == cb); FAILIF (0 != GNUNET_memcmp (cb, coin_blind)); @@ -1666,6 +1694,7 @@ run (void *cls) TALER_denom_pub_verify (&dkp->pub, &ds, &c_hash)); + TALER_denom_sig_free (&ds); } RND_BLK (&coin_sig); @@ -2197,6 +2226,7 @@ main (int argc, char *testname; struct GNUNET_CONFIGURATION_Handle *cfg; + (void) argc; result = -1; if (NULL == (plugin_name = strrchr (argv[0], (int) '-'))) { diff --git a/src/lib/exchange_api_common.c b/src/lib/exchange_api_common.c @@ -679,7 +679,7 @@ TALER_EXCHANGE_verify_coin_history ( for the exchange to lie here, so not checking is probably OK (an auditor ought to check, though). Then again, we similarly had no reason to check the merchant's signature (other than a - well-formendess check). */// + well-formendess check). */ /* check that refund fee matches our expectations from /keys! */ if (NULL != dk) diff --git a/src/lib/exchange_api_refresh_common.c b/src/lib/exchange_api_refresh_common.c @@ -198,11 +198,11 @@ serialize_melt_data (const struct MeltData *md) GNUNET_JSON_pack_data_auto ("ps", &md->fresh_coins[j][i])); GNUNET_assert (0 == - json_array_append (planchet_secrets, - ps)); + json_array_append_new (planchet_secrets, + ps)); } GNUNET_assert (0 == - json_array_append ( + json_array_append_new ( fresh_coins, GNUNET_JSON_PACK ( TALER_JSON_pack_denom_pub ("denom_pub", @@ -299,6 +299,7 @@ TALER_EXCHANGE_deserialize_melt_data_ (const json_t *melt_data, { GNUNET_break (0); ok = false; + GNUNET_JSON_parse_free (ispec); break; } for (unsigned int j = 0; j<TALER_CNC_KAPPA; j++) @@ -320,10 +321,12 @@ TALER_EXCHANGE_deserialize_melt_data_ (const json_t *melt_data, break; } } + json_decref (planchet_secrets); if (! ok) break; } + GNUNET_JSON_parse_free (spec); if (! ok) { TALER_EXCHANGE_free_melt_data_ (md); diff --git a/src/lib/exchange_api_refund.c b/src/lib/exchange_api_refund.c @@ -166,6 +166,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, if (0 == len) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } have_deposit = false; @@ -191,6 +192,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, NULL, NULL)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if (0 == strcasecmp (type, @@ -205,7 +207,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, struct TALER_MerchantPublicKeyP merchant_pub; struct GNUNET_TIME_Absolute refund_deadline; struct TALER_CoinSpendSignatureP sig; - struct GNUNET_JSON_Specification spec[] = { + struct GNUNET_JSON_Specification ispec[] = { GNUNET_JSON_spec_fixed_auto ("coin_sig", &sig), GNUNET_JSON_spec_fixed_auto ("h_contract_terms", @@ -227,10 +229,11 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, if (GNUNET_OK != GNUNET_JSON_parse (transaction, - spec, + ispec, NULL, NULL)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if (GNUNET_OK != @@ -247,6 +250,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, &sig)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if ( (0 != GNUNET_memcmp (&rh->depconf.h_contract_terms, @@ -256,6 +260,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, { /* deposit information is about a different merchant/contract */ GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if (have_deposit) @@ -266,6 +271,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, &dtotal)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } GNUNET_break (0 <= @@ -290,7 +296,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, .purpose.purpose = htonl (TALER_SIGNATURE_MERCHANT_REFUND), .coin_pub = rh->depconf.coin_pub }; - struct GNUNET_JSON_Specification spec[] = { + struct GNUNET_JSON_Specification ispec[] = { TALER_JSON_spec_amount_any ("refund_fee", &refund_fee), GNUNET_JSON_spec_fixed_auto ("merchant_sig", @@ -306,10 +312,11 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, if (GNUNET_OK != GNUNET_JSON_parse (transaction, - spec, + ispec, NULL, NULL)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if (0 > @@ -318,6 +325,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, &amount)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } TALER_amount_hton (&rr.refund_amount, @@ -330,6 +338,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, &rr.merchant.eddsa_pub)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if ( (0 != GNUNET_memcmp (&rh->depconf.h_contract_terms, @@ -339,6 +348,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, { /* refund is about a different merchant/contract */ GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if (rr.rtransaction_id == rh->depconf.rtransaction_id) @@ -346,6 +356,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, /* Eh, this shows either a dependency failure or idempotency, but must not happen in a conflict reply. Fail! */ GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } @@ -356,6 +367,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, &rtotal)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } GNUNET_break (0 <= @@ -376,6 +388,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, "Unexpected type `%s' in response for exchange refund\n", type); GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } } @@ -393,6 +406,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, &amount)) { GNUNET_break (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } } @@ -405,10 +419,12 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, &rtotal)) { /* dtotal < rtotal: good! */ + GNUNET_JSON_parse_free (spec); return GNUNET_OK; } /* this fails to prove a conflict */ GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } @@ -422,14 +438,15 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, * @param json json reply with the signature * @return #GNUNET_OK if the signature is valid, #GNUNET_SYSERR if not */ -static int +static enum GNUNET_GenericReturnValue verify_failed_dependency_ok (struct TALER_EXCHANGE_RefundHandle *rh, const json_t *json) { json_t *h; json_t *e; struct GNUNET_JSON_Specification spec[] = { - GNUNET_JSON_spec_json ("history", &h), + GNUNET_JSON_spec_json ("history", + &h), GNUNET_JSON_spec_end () }; @@ -445,6 +462,7 @@ verify_failed_dependency_ok (struct TALER_EXCHANGE_RefundHandle *rh, (1 != json_array_size (h) ) ) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } e = json_array_get (h, 0); @@ -459,7 +477,7 @@ verify_failed_dependency_ok (struct TALER_EXCHANGE_RefundHandle *rh, .coin_pub = rh->depconf.coin_pub }; uint64_t rtransaction_id; - struct GNUNET_JSON_Specification spec[] = { + struct GNUNET_JSON_Specification ispec[] = { TALER_JSON_spec_amount_any ("amount", &amount), GNUNET_JSON_spec_string ("type", @@ -479,10 +497,11 @@ verify_failed_dependency_ok (struct TALER_EXCHANGE_RefundHandle *rh, if (GNUNET_OK != GNUNET_JSON_parse (e, - spec, + ispec, NULL, NULL)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } rr.rtransaction_id = GNUNET_htonll (rtransaction_id); @@ -495,6 +514,7 @@ verify_failed_dependency_ok (struct TALER_EXCHANGE_RefundHandle *rh, &rh->depconf.merchant.eddsa_pub)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } if ( (rr.rtransaction_id != rh->depconf.rtransaction_id) || @@ -506,9 +526,11 @@ verify_failed_dependency_ok (struct TALER_EXCHANGE_RefundHandle *rh, &rr.refund_amount)) ) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } } + GNUNET_JSON_parse_free (spec); return GNUNET_OK; } diff --git a/src/testing/test_auditor_api.c b/src/testing/test_auditor_api.c @@ -670,6 +670,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run_with_fakebank (is, commands, bc.exchange_auth.wire_gateway_url); @@ -680,6 +681,8 @@ int main (int argc, char *const *argv) { + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_auditor_api_version.c b/src/testing/test_auditor_api_version.c @@ -91,6 +91,7 @@ version_cb (void *cls, const struct TALER_AUDITOR_VersionInformation *vi, enum TALER_AUDITOR_VersionCompatibility compat) { + (void) cls; (void) hr; if ( (NULL != vi) && (TALER_AUDITOR_VC_MATCH == compat) ) @@ -134,6 +135,8 @@ main (int argc, { struct GNUNET_OS_Process *proc; + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_bank_api.c b/src/testing/test_bank_api.c @@ -75,6 +75,7 @@ run (void *cls, { struct TALER_WireTransferIdentifierRawP wtid; + (void) cls; memset (&wtid, 42, sizeof (wtid)); { @@ -165,6 +166,8 @@ main (int argc, int rv; const char *cfgfile; + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_bank_api_twisted.c b/src/testing/test_bank_api_twisted.c @@ -86,6 +86,7 @@ run (void *cls, /* Route our commands through twister. */ struct TALER_BANK_AuthenticationData exchange_auth_twisted; + (void) cls; memset (&wtid, 0x5a, sizeof (wtid)); @@ -165,6 +166,7 @@ main (int argc, int ret; const char *cfgfilename; + (void) argc; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_exchange_api.c b/src/testing/test_exchange_api.c @@ -902,6 +902,8 @@ run (void *cls, struct TALER_TESTING_Command reserve_open_close[(RESERVE_OPEN_CLOSE_ITERATIONS * RESERVE_OPEN_CLOSE_CHUNK) + 1]; + + (void) cls; for (unsigned int i = 0; i < RESERVE_OPEN_CLOSE_ITERATIONS; i++) @@ -980,6 +982,8 @@ int main (int argc, char *const *argv) { + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_exchange_api_keys_cherry_picking.c b/src/testing/test_exchange_api_keys_cherry_picking.c @@ -99,6 +99,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run (is, commands); } @@ -108,6 +109,8 @@ int main (int argc, char *const *argv) { + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_exchange_api_overlapping_keys_bug.c b/src/testing/test_exchange_api_overlapping_keys_bug.c @@ -79,6 +79,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run (is, commands); } @@ -88,6 +89,8 @@ int main (int argc, char *const *argv) { + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_exchange_api_revocation.c b/src/testing/test_exchange_api_revocation.c @@ -239,6 +239,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run_with_fakebank (is, revocation, bc.exchange_auth.wire_gateway_url); @@ -249,6 +250,8 @@ int main (int argc, char *const *argv) { + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_exchange_api_twisted.c b/src/testing/test_exchange_api_twisted.c @@ -155,7 +155,8 @@ run (void *cls, * NOTE: not all CMDs actually need the twister, * so it may be better to move those into the "main" * lib test suite. - */struct TALER_TESTING_Command refund[] = { + */ + struct TALER_TESTING_Command refund[] = { CMD_TRANSFER_TO_EXCHANGE ("create-reserve-r1", "EUR:5.01"), CMD_EXEC_WIREWATCH ("wirewatch-r1"), @@ -183,7 +184,6 @@ run (void *cls, MHD_HTTP_FORBIDDEN, "EUR:5", "deposit-refund-1"), - /* This next deposit CMD is only used to provide a * good merchant signature to the next (failing) refund * operations. */ @@ -210,6 +210,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; +#if 0 /** * Test that we don't get errors when the keys from the exchange * are out of date. @@ -234,6 +235,7 @@ run (void *cls, MHD_HTTP_OK), TALER_TESTING_cmd_end () }; +#endif struct TALER_TESTING_Command commands[] = { TALER_TESTING_cmd_wire_add ("add-wire-account", @@ -248,11 +250,14 @@ run (void *cls, refresh_409_conflict), TALER_TESTING_cmd_batch ("refund", refund), +#if 0 TALER_TESTING_cmd_batch ("expired-keys", expired_keys), +#endif TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run_with_fakebank (is, commands, bc.exchange_auth.wire_gateway_url); @@ -280,6 +285,8 @@ main (int argc, { int ret; + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_exchange_management_api.c b/src/testing/test_exchange_management_api.c @@ -145,6 +145,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run_with_fakebank (is, commands, bc.exchange_auth.wire_gateway_url); @@ -155,6 +156,8 @@ int main (int argc, char *const *argv) { + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_kyc_api.c b/src/testing/test_kyc_api.c @@ -231,6 +231,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run_with_fakebank (is, commands, bc.exchange_auth.wire_gateway_url); @@ -241,6 +242,8 @@ int main (int argc, char *const *argv) { + (void) argc; + (void) argv; /* These environment variables get in the way... */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/test_taler_exchange_wirewatch.c b/src/testing/test_taler_exchange_wirewatch.c @@ -143,6 +143,7 @@ run (void *cls, TALER_TESTING_cmd_end () }; + (void) cls; TALER_TESTING_run_with_fakebank (is, all, bc.exchange_auth.wire_gateway_url); @@ -155,6 +156,7 @@ main (int argc, { const char *plugin_name; + (void) argc; /* these might get in the way */ unsetenv ("XDG_DATA_HOME"); unsetenv ("XDG_CONFIG_HOME"); diff --git a/src/testing/testing_api_cmd_refresh.c b/src/testing/testing_api_cmd_refresh.c @@ -490,6 +490,7 @@ refresh_reveal_cleanup (void *cls, { struct RefreshRevealState *rrs = cls; + (void) cmd; if (NULL != rrs->rrh) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, @@ -741,6 +742,7 @@ refresh_link_run (void *cls, const struct TALER_TESTING_Command *melt_cmd; const struct TALER_TESTING_Command *coin_cmd; + (void) cmd; rls->is = is; reveal_cmd = TALER_TESTING_interpreter_lookup_command (rls->is, rls->reveal_reference); @@ -855,6 +857,11 @@ do_melt_retry (void *cls) rms->retry_task = NULL; rms->is->commands[rms->is->ip].last_req_time = GNUNET_TIME_absolute_get (); + if (NULL != rms->refresh_data) + { + json_decref (rms->refresh_data); + rms->refresh_data = NULL; + } melt_run (rms, NULL, rms->is); @@ -880,6 +887,7 @@ melt_cb (void *cls, { struct RefreshMeltState *rms = cls; + (void) exchange_pub; rms->rmh = NULL; if (rms->expected_response_code != hr->http_status) { @@ -966,6 +974,7 @@ melt_run (void *cls, }; const char **melt_fresh_amounts; + (void) cmd; if (NULL == (melt_fresh_amounts = rms->melt_fresh_amounts)) melt_fresh_amounts = default_melt_fresh_amounts; rms->is = is; @@ -1029,8 +1038,9 @@ melt_run (void *cls, { const struct TALER_EXCHANGE_DenomPublicKey *fresh_pk; - if (GNUNET_OK != TALER_string_to_amount - (melt_fresh_amounts[i], &fresh_amount)) + if (GNUNET_OK != + TALER_string_to_amount (melt_fresh_amounts[i], + &fresh_amount)) { GNUNET_break (0); GNUNET_log (GNUNET_ERROR_TYPE_ERROR, @@ -1060,7 +1070,8 @@ melt_run (void *cls, /* Make a deep copy of the RSA key */ TALER_denom_pub_deep_copy (&rms->fresh_pks[i].key, &fresh_pk->key); - } + } /* end for */ + GNUNET_assert (NULL == rms->refresh_data); rms->refresh_data = TALER_EXCHANGE_refresh_prepare (rms->melt_priv, &melt_amount, @@ -1102,6 +1113,7 @@ melt_cleanup (void *cls, { struct RefreshMeltState *rms = cls; + (void) cmd; if (NULL != rms->rmh) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, diff --git a/src/util/test_helper_eddsa.c b/src/util/test_helper_eddsa.c @@ -118,6 +118,7 @@ key_cb (void *cls, const struct TALER_SecurityModulePublicKeyP *sm_pub, const struct TALER_SecurityModuleSignatureP *sm_sig) { + (void) cls; (void) sm_pub; (void) sm_sig; if (0 == validity_duration.rel_value_us) diff --git a/src/util/test_helper_rsa.c b/src/util/test_helper_rsa.c @@ -99,6 +99,22 @@ static struct KeyData keys[MAX_KEYS]; /** + * Release memory occupied by #keys. + */ +static void +free_keys (void) +{ + for (unsigned int i = 0; i<MAX_KEYS; i++) + if (keys[i].valid) + { + TALER_denom_pub_free (&keys[i].denom_pub); + GNUNET_assert (num_keys > 0); + num_keys--; + } +} + + +/** * Function called with information about available keys for signing. Usually * only called once per key upon connect. Also called again in case a key is * being revoked, in that case with an @a end_time of zero. Stores the keys @@ -127,6 +143,7 @@ key_cb (void *cls, const struct TALER_SecurityModulePublicKeyP *sm_pub, const struct TALER_SecurityModuleSignatureP *sm_sig) { + (void) cls; (void) sm_pub; (void) sm_sig; GNUNET_log (GNUNET_ERROR_TYPE_INFO, @@ -472,9 +489,6 @@ par_signing (struct GNUNET_CONFIGURATION_Handle *cfg) for (unsigned int i = 0; i<NUM_CORES; i++) { pids[i] = fork (); - memset (keys, - 0, - sizeof (keys)); num_keys = 0; GNUNET_assert (-1 != pids[i]); if (0 == pids[i]) @@ -488,6 +502,7 @@ par_signing (struct GNUNET_CONFIGURATION_Handle *cfg) ret = perf_signing (dh, "parallel"); TALER_CRYPTO_helper_rsa_disconnect (dh); + free_keys (); exit (ret); } } @@ -571,16 +586,10 @@ run_test (void) ret = perf_signing (dh, "sequential"); TALER_CRYPTO_helper_rsa_disconnect (dh); + free_keys (); if (0 == ret) ret = par_signing (cfg); /* clean up our state */ - for (unsigned int i = 0; i<MAX_KEYS; i++) - if (keys[i].valid) - { - TALER_denom_pub_free (&keys[i].denom_pub); - GNUNET_assert (num_keys > 0); - num_keys--; - } GNUNET_CONFIGURATION_destroy (cfg); return ret; }