summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-04-16 02:16:41 +0200
committerChristian Grothoff <christian@grothoff.org>2017-04-16 02:16:41 +0200
commitbe6dde89dbc6e9a9c69a8cec600f46e02c6c387c (patch)
tree0f3e4a62c32d2935c0736f78e9903cf1a93c0815
parent1fe26d5d2e7094045fa5c319b047e901ff617d84 (diff)
downloadexchange-be6dde89dbc6e9a9c69a8cec600f46e02c6c387c.tar.gz
exchange-be6dde89dbc6e9a9c69a8cec600f46e02c6c387c.tar.bz2
exchange-be6dde89dbc6e9a9c69a8cec600f46e02c6c387c.zip
fix use of uninit value on PAYBACK path in auditor
-rw-r--r--src/auditor/taler-auditor.c44
1 files changed, 33 insertions, 11 deletions
diff --git a/src/auditor/taler-auditor.c b/src/auditor/taler-auditor.c
index c4fb025d..b94b1e86 100644
--- a/src/auditor/taler-auditor.c
+++ b/src/auditor/taler-auditor.c
@@ -1531,6 +1531,17 @@ check_transaction_history (const struct TALER_CoinSpendPublicKeyP *coin_pub,
return GNUNET_SYSERR;
}
}
+ /* Check that the fees given in the transaction list and in dki match */
+ TALER_amount_ntoh (&tmp,
+ fee_dki);
+ if (0 !=
+ TALER_amount_cmp (&tmp,
+ fee))
+ {
+ /* Disagreement in fee structure within DB, should be impossible! */
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
break;
case TALER_EXCHANGEDB_TT_REFRESH_MELT:
amount_with_fee = &tl->details.melt->amount_with_fee;
@@ -1544,6 +1555,17 @@ check_transaction_history (const struct TALER_CoinSpendPublicKeyP *coin_pub,
GNUNET_break (0);
return GNUNET_SYSERR;
}
+ /* Check that the fees given in the transaction list and in dki match */
+ TALER_amount_ntoh (&tmp,
+ fee_dki);
+ if (0 !=
+ TALER_amount_cmp (&tmp,
+ fee))
+ {
+ /* Disagreement in fee structure within DB, should be impossible! */
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
break;
case TALER_EXCHANGEDB_TT_REFUND:
amount_with_fee = &tl->details.refund->refund_amount;
@@ -1594,6 +1616,17 @@ check_transaction_history (const struct TALER_CoinSpendPublicKeyP *coin_pub,
return GNUNET_SYSERR;
}
}
+ /* Check that the fees given in the transaction list and in dki match */
+ TALER_amount_ntoh (&tmp,
+ fee_dki);
+ if (0 !=
+ TALER_amount_cmp (&tmp,
+ fee))
+ {
+ /* Disagreement in fee structure within DB, should be impossible! */
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
break;
case TALER_EXCHANGEDB_TT_PAYBACK:
amount_with_fee = &tl->details.payback->value;
@@ -1608,17 +1641,6 @@ check_transaction_history (const struct TALER_CoinSpendPublicKeyP *coin_pub,
break;
}
- /* Check that the fees given in the transaction list and in dki match */
- TALER_amount_ntoh (&tmp,
- fee_dki);
- if (0 !=
- TALER_amount_cmp (&tmp,
- fee))
- {
- /* Disagreement in fee structure within DB, should be impossible! */
- GNUNET_break (0);
- return GNUNET_SYSERR;
- }
} /* for 'tl' */
/* Calculate total balance change, i.e. expenditures minus refunds */