From db2b72adee6e76cf25edac0eb9e69387c8dd5ee6 Mon Sep 17 00:00:00 2001 From: memchr <118117622+memchr@users.noreply.github.com> Date: Thu, 14 Sep 2023 11:07:31 +0000 Subject: config: fix relative path resolution (#3308) --- src/config/ConfigManager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/config/ConfigManager.cpp') diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 08971318..7893cefa 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -1203,8 +1203,9 @@ void CConfigManager::handleSource(const std::string& command, const std::string& std::unique_ptr glob_buf{new glob_t, [](glob_t* g) { globfree(g); }}; memset(glob_buf.get(), 0, sizeof(glob_t)); - if (glob(rawpath.c_str(), GLOB_TILDE, nullptr, glob_buf.get()) != 0) { - Debug::log(ERR, "source= globbing error"); + if (auto r = glob(absolutePath(rawpath, configCurrentPath).c_str(), GLOB_TILDE, nullptr, glob_buf.get()); r != 0) { + parseError = std::format("source= globbing error: {}", r == GLOB_NOMATCH ? "found no match" : GLOB_ABORTED ? "read error" : "out of memory"); + Debug::log(ERR, parseError); return; } -- cgit v1.2.3