summaryrefslogtreecommitdiff
path: root/src/exchange
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-11-17 11:36:05 +0100
committerChristian Grothoff <christian@grothoff.org>2016-11-17 11:36:05 +0100
commitc2ead716007ff4205617170c8751cf88323b42ce (patch)
tree88dee17c4a89a9201925abb20849048aa2175187 /src/exchange
parentbd096d39285ef3225ca348ad5b772133675267bd (diff)
downloadexchange-c2ead716007ff4205617170c8751cf88323b42ce.tar.gz
exchange-c2ead716007ff4205617170c8751cf88323b42ce.tar.bz2
exchange-c2ead716007ff4205617170c8751cf88323b42ce.zip
three more missing rollbacks found
Diffstat (limited to 'src/exchange')
-rw-r--r--src/exchange/taler-exchange-httpd_db.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c
index 814795544..c47451eea 100644
--- 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);
}