diff options
author | mj-xmr <mjxmr@protonmail.com> | 2021-03-02 09:36:04 +0100 |
---|---|---|
committer | mj-xmr <mjxmr@protonmail.com> | 2021-08-03 17:10:21 +0200 |
commit | b2c59af84de8d35c1eee38878053206a62756968 (patch) | |
tree | e09c93fe129927f09fc6adeaf0927d28910172c0 | |
parent | Merge pull request #7796 (diff) | |
download | monero-b2c59af84de8d35c1eee38878053206a62756968.tar.xz |
EasyLogging++: new anti-UB test and propagating exception
-rw-r--r-- | external/easylogging++/easylogging++.h | 1 | ||||
-rw-r--r-- | tests/unit_tests/logging.cpp | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/external/easylogging++/easylogging++.h b/external/easylogging++/easylogging++.h index c4a88339f..b983a796c 100644 --- a/external/easylogging++/easylogging++.h +++ b/external/easylogging++/easylogging++.h @@ -2026,6 +2026,7 @@ class TypedConfigurations : public base::threading::ThreadSafe { ELPP_INTERNAL_ERROR("Unable to get configuration [" << confName << "] for level [" << LevelHelper::convertToString(level) << "]" << std::endl << "Please ensure you have properly configured logger.", false); + throw; // The exception has to be rethrown, to abort a branch leading to UB. } } return it->second; diff --git a/tests/unit_tests/logging.cpp b/tests/unit_tests/logging.cpp index f11b17412..b3ffb9aa6 100644 --- a/tests/unit_tests/logging.cpp +++ b/tests/unit_tests/logging.cpp @@ -208,3 +208,10 @@ TEST(logging, operator_equals_segfault) el::Logger log2("id2", nullptr); log2 = log1; } + +TEST(logging, empty_configurations_throws) +{ + el::Logger log1("id1", nullptr); + const el::Configurations cfg; + EXPECT_ANY_THROW(log1.configure(cfg)); +} |