exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit c2ead716007ff4205617170c8751cf88323b42ce
parent bd096d39285ef3225ca348ad5b772133675267bd
Author: Christian Grothoff <christian@grothoff.org>
Date:   Thu, 17 Nov 2016 11:36:05 +0100

three more missing rollbacks found

Diffstat:
Msrc/exchange/taler-exchange-httpd_db.c | 6++++++
1 file changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c @@ -496,6 +496,8 @@ TEH_DB_execute_refund (struct MHD_Connection *connection, &dep->amount_with_fee) ) { GNUNET_break_op (0); /* cannot refund more than original value */ + TEH_plugin->rollback (TEH_plugin->cls, + session); TEH_plugin->free_coin_transaction_list (TEH_plugin->cls, tl); return TEH_RESPONSE_reply_refund_failure (connection, @@ -513,6 +515,8 @@ TEH_DB_execute_refund (struct MHD_Connection *connection, /* DKI not found, but we do have a coin with this DK in our database; not good... */ GNUNET_break (0); + TEH_plugin->rollback (TEH_plugin->cls, + session); TEH_KS_release (mks); TEH_plugin->free_coin_transaction_list (TEH_plugin->cls, tl); @@ -732,6 +736,8 @@ execute_reserve_withdraw_transaction (struct MHD_Connection *connection, { /* did not encounter any wire transfer operations, how can we have a reserve? */ GNUNET_break (0); + TEH_plugin->rollback (TEH_plugin->cls, + session); return TEH_RESPONSE_reply_internal_db_error (connection, TALER_EC_WITHDRAW_RESERVE_WITHOUT_WIRE_TRANSFER); }