EC instead of SEGV

This commit is contained in:
Christian Grothoff 2022-08-25 20:32:50 +02:00
parent ecae3c26dd
commit 5e206e7c30
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 17 additions and 13 deletions

@ -1 +1 @@
Subproject commit a8ec467f79aab32f671c146ca9cffb812920e1a2
Subproject commit 5f6a1413a6053d1999064768188f1671eb015897

View File

@ -2864,16 +2864,6 @@ do_post_withdrawal (struct TALER_FAKEBANK_Handle *h,
"exchange account changed");
}
wo->exchange_account = credit_account;
if (NULL == wo->exchange_account)
{
GNUNET_assert (0 ==
pthread_mutex_unlock (&h->big_lock));
return TALER_MHD_reply_with_error (connection,
MHD_HTTP_NOT_FOUND,
TALER_EC_BANK_UNKNOWN_ACCOUNT,
exchange_payto_uri);
}
wo->reserve_pub = *reserve_pub;
wo->selection_done = true;
GNUNET_assert (0 ==
@ -3606,6 +3596,15 @@ access_withdrawals_confirm (struct TALER_FAKEBANK_Handle *h,
TALER_EC_BANK_TRANSACTION_NOT_FOUND,
account_name);
}
if (NULL == wo->exchange_account)
{
GNUNET_assert (0 ==
pthread_mutex_unlock (&h->big_lock));
return TALER_MHD_reply_with_error (connection,
MHD_HTTP_BAD_REQUEST,
TALER_EC_BANK_POST_WITHDRAWAL_OPERATION_REQUIRED,
NULL);
}
if (wo->aborted)
{
GNUNET_assert (0 ==
@ -4089,8 +4088,13 @@ TALER_FAKEBANK_start2 (uint16_t port,
{
struct TALER_Amount zero;
TALER_amount_set_zero (currency,
&zero);
if (GNUNET_OK !=
TALER_amount_set_zero (currency,
&zero))
{
GNUNET_break (0);
return NULL;
}
return TALER_FAKEBANK_start3 ("localhost",
port,
NULL,