new(userspace,unit_tests): deny main config to include itself.

Moreover, added a couple more tests.

Signed-off-by: Federico Di Pierro <nierro92@gmail.com>

Co-authored-by: Melissa Kilby <melissa.kilby.oss@gmail.com>
This commit is contained in:
Federico Di Pierro
2024-02-08 09:51:06 +01:00
committed by poiana
parent 8112f6210b
commit 45754fda9f
2 changed files with 37 additions and 0 deletions

View File

@@ -109,6 +109,10 @@ public:
{
include_file_path = config_folder / include_file;
}
if (include_file_path == ppath)
{
throw std::runtime_error("Config error: 'includes' directive tried to recursively include main config file: " + path + ".");
}
if (std::filesystem::exists(include_file_path) && std::filesystem::is_regular_file(include_file_path))
{
auto loaded_nodes = load_from_file_int(include_file_path.string());