diff --git a/src/bank.cpp b/src/bank.cpp index cb10581..01161fd 100644 --- a/src/bank.cpp +++ b/src/bank.cpp @@ -90,6 +90,12 @@ int_fast8_t Bank::SendFunds(const std::string &a_name, const std::string &b_name { return ErrorResponse::InvalidRequest; } + //as first modify_if checks a_name and grabs unique lock + if (!Contains(b_name)) + { + return ErrorResponse::UserNotFound; + } + int_fast8_t state = false; { std::shared_lock lock{send_funds_l}; //because SendFunds requires 3 locking operations