This commit is contained in:
Christian Grothoff 2020-01-18 18:14:33 +01:00
parent b3ff66d057
commit ee6b2d5286
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 15 additions and 8 deletions

View File

@ -2835,6 +2835,7 @@ check_wire_out_cb
&wcc.h_wire)) &wcc.h_wire))
{ {
GNUNET_break (0); GNUNET_break (0);
GNUNET_free (method);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
qs = edb->lookup_wire_transfer (edb->cls, qs = edb->lookup_wire_transfer (edb->cls,
@ -2881,16 +2882,16 @@ check_wire_out_cb
&wcc.total_deposits, &wcc.total_deposits,
wire_fee)) wire_fee))
{ {
report_amount_arithmetic_inconsistency report_amount_arithmetic_inconsistency ("wire out (fee structure)",
("wire out (fee structure)", rowid,
rowid, &wcc.total_deposits,
&wcc.total_deposits, wire_fee,
wire_fee, -1);
-1);
/* If fee arithmetic fails, we just assume the fee is zero */ /* If fee arithmetic fails, we just assume the fee is zero */
final_amount = wcc.total_deposits; final_amount = wcc.total_deposits;
} }
} }
GNUNET_free (method);
/* Round down to amount supported by wire method */ /* Round down to amount supported by wire method */
GNUNET_break (TALER_amount_round_down (&final_amount, GNUNET_break (TALER_amount_round_down (&final_amount,

View File

@ -1362,6 +1362,7 @@ history_debit_cb (void *cls,
{ {
struct WireAccount *wa = cls; struct WireAccount *wa = cls;
struct ReserveOutInfo *roi; struct ReserveOutInfo *roi;
size_t slen;
(void) json; (void) json;
if (NULL == details) if (NULL == details)
@ -1389,14 +1390,19 @@ history_debit_cb (void *cls,
TALER_B2S (&details->wtid)); TALER_B2S (&details->wtid));
/* Update offset */ /* Update offset */
wa->out_wire_off = row_off; wa->out_wire_off = row_off;
roi = GNUNET_new (struct ReserveOutInfo); slen = strlen (details->credit_account_url) + 1;
roi = GNUNET_malloc (sizeof (struct ReserveOutInfo)
+ slen);
GNUNET_CRYPTO_hash (&details->wtid, GNUNET_CRYPTO_hash (&details->wtid,
sizeof (details->wtid), sizeof (details->wtid),
&roi->subject_hash); &roi->subject_hash);
roi->details.amount = details->amount; roi->details.amount = details->amount;
roi->details.execution_date = details->execution_date; roi->details.execution_date = details->execution_date;
roi->details.wtid = details->wtid; roi->details.wtid = details->wtid;
roi->details.credit_account_url = GNUNET_strdup (details->credit_account_url); roi->details.credit_account_url = (const char *) &roi[1];
memcpy (&roi[1],
details->credit_account_url,
slen);
if (GNUNET_OK != if (GNUNET_OK !=
GNUNET_CONTAINER_multihashmap_put (out_map, GNUNET_CONTAINER_multihashmap_put (out_map,
&roi->subject_hash, &roi->subject_hash,