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() {