Run functional tests and benchmarks under the undefined behaviour sanitizer (UBSan).
This will make Travis automatically detect issues such as:
- #14242: Avoid triggering undefined behaviour (
std::memset(nullptr, 0, 0)) if an invalid string is passed toDecodeSecret(...) - #14239: Avoid dividing by zero (undefined behaviour) in
EstimateMedianVal(policy)/ConnectTip(validation)/CreateTransaction(wallet) - #13546: wallet: Avoid potential use of uninitialized value
bnb_usedinCWallet::CreateTransaction(...)
Addresses issue #14059.