diff options
Diffstat (limited to 'src/lib/exchange_api_refreshes_reveal.c')
-rw-r--r-- | src/lib/exchange_api_refreshes_reveal.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/exchange_api_refreshes_reveal.c b/src/lib/exchange_api_refreshes_reveal.c index a4ea47763..9161ac3df 100644 --- a/src/lib/exchange_api_refreshes_reveal.c +++ b/src/lib/exchange_api_refreshes_reveal.c @@ -420,6 +420,7 @@ TALER_EXCHANGE_refreshes_reveal ( for (size_t i = 0; i < rd->melt_age_commitment_proof->commitment.num; i++) { enum GNUNET_GenericReturnValue ret; + ret = json_array_append_new ( old_age_commitment, GNUNET_JSON_from_data_auto ( @@ -470,9 +471,13 @@ TALER_EXCHANGE_refreshes_reveal ( rrh->reveal_cb_cls = reveal_cb_cls; rrh->md = md; rrh->alg_values - = GNUNET_memdup (alg_values, - md.num_fresh_coins - * sizeof (struct TALER_ExchangeWithdrawValues)); + = GNUNET_new_array (md.num_fresh_coins, + struct TALER_ExchangeWithdrawValues); + for (unsigned int i = 0; i<md.num_fresh_coins; i++) + { + TALER_denom_ewv_deep_copy (&rrh->alg_values[i], + &alg_values[i]); + } rrh->url = TALER_url_join (url, arg_str, NULL); @@ -521,6 +526,8 @@ TALER_EXCHANGE_refreshes_reveal_cancel ( GNUNET_CURL_job_cancel (rrh->job); rrh->job = NULL; } + for (unsigned int i = 0; i<rrh->md.num_fresh_coins; i++) + TALER_denom_ewv_free (&rrh->alg_values[i]); GNUNET_free (rrh->alg_values); GNUNET_free (rrh->url); TALER_curl_easy_post_finished (&rrh->ctx); |