address leaks.
This commit is contained in:
parent
e364aa76e1
commit
7d4d3b3e9d
@ -57,6 +57,11 @@ struct WithdrawState
|
||||
*/
|
||||
struct TALER_EXCHANGE_Handle *exchange;
|
||||
|
||||
/**
|
||||
* Exchange base URL.
|
||||
*/
|
||||
char *exchange_url;
|
||||
|
||||
/**
|
||||
* Interpreter state (during command).
|
||||
*/
|
||||
@ -229,6 +234,7 @@ withdraw_cleanup (void *cls,
|
||||
GNUNET_CRYPTO_rsa_signature_free (ws->sig.rsa_signature);
|
||||
ws->sig.rsa_signature = NULL;
|
||||
}
|
||||
GNUNET_free_non_null (ws->exchange_url);
|
||||
GNUNET_free (ws);
|
||||
}
|
||||
|
||||
@ -274,6 +280,7 @@ withdraw_traits (void *cls,
|
||||
TALER_TESTING_interpreter_fail (ws->is);
|
||||
return GNUNET_SYSERR;
|
||||
}
|
||||
ws->exchange_url = MAH_path_to_url (ws->exchange, "/");
|
||||
|
||||
struct TALER_TESTING_Trait traits[] = {
|
||||
TALER_TESTING_make_trait_coin_priv (0 /* only one coin */,
|
||||
@ -288,8 +295,7 @@ withdraw_traits (void *cls,
|
||||
reserve_priv),
|
||||
TALER_TESTING_make_trait_amount_obj (0,
|
||||
&ws->amount),
|
||||
TALER_TESTING_make_trait_url (
|
||||
0, MAH_path_to_url (ws->exchange, "/")),
|
||||
TALER_TESTING_make_trait_url (0, ws->exchange_url),
|
||||
|
||||
TALER_TESTING_trait_end ()
|
||||
};
|
||||
|
@ -174,6 +174,7 @@ TALER_TESTING_prepare_exchange (const char *config_filename,
|
||||
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
|
||||
"Failed to run `taler-auditor-sign`,"
|
||||
" is your PATH correct?\n");
|
||||
GNUNET_free (signed_keys_out);
|
||||
return GNUNET_NO;
|
||||
}
|
||||
GNUNET_OS_process_wait (proc);
|
||||
@ -192,6 +193,8 @@ TALER_TESTING_prepare_exchange (const char *config_filename,
|
||||
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
|
||||
"Failed to run `taler-exchange-dbinit`,"
|
||||
" is your PATH correct?\n");
|
||||
|
||||
GNUNET_free (signed_keys_out);
|
||||
return GNUNET_NO;
|
||||
}
|
||||
if (GNUNET_SYSERR ==
|
||||
@ -201,6 +204,7 @@ TALER_TESTING_prepare_exchange (const char *config_filename,
|
||||
{
|
||||
GNUNET_break (0);
|
||||
GNUNET_OS_process_destroy (proc);
|
||||
GNUNET_free (signed_keys_out);
|
||||
return GNUNET_SYSERR;
|
||||
}
|
||||
GNUNET_OS_process_destroy (proc);
|
||||
@ -209,6 +213,7 @@ TALER_TESTING_prepare_exchange (const char *config_filename,
|
||||
{
|
||||
fprintf (stderr,
|
||||
"Failed to setup database\n");
|
||||
GNUNET_free (signed_keys_out);
|
||||
return GNUNET_NO;
|
||||
}
|
||||
if ( (type != GNUNET_OS_PROCESS_EXITED) ||
|
||||
@ -217,8 +222,11 @@ TALER_TESTING_prepare_exchange (const char *config_filename,
|
||||
fprintf (stderr,
|
||||
"Unexpected error running"
|
||||
" `taler-exchange-dbinit'!\n");
|
||||
GNUNET_free (signed_keys_out);
|
||||
return GNUNET_SYSERR;
|
||||
}
|
||||
|
||||
GNUNET_free (signed_keys_out);
|
||||
return GNUNET_OK;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user