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_used
inCWallet::CreateTransaction(...)
Addresses issue #14059.