From ede1e63f69e0356eaef10e3da30b86862df38e8c Mon Sep 17 00:00:00 2001 From: Maximilian Seidler <maximilian.seidler@soundwork.at> Date: Fri, 5 Jul 2024 22:58:47 +0200 Subject: [PATCH] config: don't crash when getenv HOME returns null --- src/config/ConfigManager.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index ff9d3a6d0..12f3ac22c 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -633,7 +633,12 @@ std::string CConfigManager::getConfigDir() { if (xdgConfigHome && std::filesystem::path(xdgConfigHome).is_absolute()) return xdgConfigHome; - return getenv("HOME") + std::string("/.config"); + static const char* home = getenv("HOME"); + + if (!home) + throw std::runtime_error("Neither HOME nor XDG_CONFIG_HOME is set in the environment. Cannot determine config directory."); + + return home + std::string("/.config"); } std::string CConfigManager::getMainConfigPath() {