Merge pull request #7828

b2c59af EasyLogging++: new anti-UB test and propagating exception (mj-xmr)
This commit is contained in:
luigi1111 2021-09-09 15:16:06 -04:00
commit acfe3f8ded
No known key found for this signature in database
GPG key ID: F4ACA0183641E010
2 changed files with 8 additions and 0 deletions

View file

@ -2026,6 +2026,7 @@ class TypedConfigurations : public base::threading::ThreadSafe {
ELPP_INTERNAL_ERROR("Unable to get configuration [" << confName << "] for level [" ELPP_INTERNAL_ERROR("Unable to get configuration [" << confName << "] for level ["
<< LevelHelper::convertToString(level) << "]" << LevelHelper::convertToString(level) << "]"
<< std::endl << "Please ensure you have properly configured logger.", false); << 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; return it->second;

View file

@ -208,3 +208,10 @@ TEST(logging, operator_equals_segfault)
el::Logger log2("id2", nullptr); el::Logger log2("id2", nullptr);
log2 = log1; log2 = log1;
} }
TEST(logging, empty_configurations_throws)
{
el::Logger log1("id1", nullptr);
const el::Configurations cfg;
EXPECT_ANY_THROW(log1.configure(cfg));
}