From 695cb5884b6ae4ac056e1f3241f41894da3eebf4 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Thu, 12 Dec 2019 10:45:42 -0600 Subject: [PATCH] libfwupdplugin: Make sure systemd created environment variables exist If they don't, fall back to the package defined directories. --- libfwupdplugin/fu-common.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libfwupdplugin/fu-common.c b/libfwupdplugin/fu-common.c index d0592ef32..58680ad20 100644 --- a/libfwupdplugin/fu-common.c +++ b/libfwupdplugin/fu-common.c @@ -1087,21 +1087,21 @@ fu_common_get_path (FuPathKind path_kind) /* /etc/fwupd */ case FU_PATH_KIND_SYSCONFDIR_PKG: tmp = g_getenv ("CONFIGURATION_DIRECTORY"); - if (tmp != NULL) + if (tmp != NULL && g_file_test (tmp, G_FILE_TEST_EXISTS)) return g_build_filename (tmp, NULL); basedir = fu_common_get_path (FU_PATH_KIND_SYSCONFDIR); return g_build_filename (basedir, PACKAGE_NAME, NULL); /* /var/lib/fwupd */ case FU_PATH_KIND_LOCALSTATEDIR_PKG: tmp = g_getenv ("STATE_DIRECTORY"); - if (tmp != NULL) + if (tmp != NULL && g_file_test (tmp, G_FILE_TEST_EXISTS)) return g_build_filename (tmp, NULL); basedir = fu_common_get_path (FU_PATH_KIND_LOCALSTATEDIR); return g_build_filename (basedir, "lib", PACKAGE_NAME, NULL); /* /var/cache/fwupd */ case FU_PATH_KIND_CACHEDIR_PKG: tmp = g_getenv ("CACHE_DIRECTORY"); - if (tmp != NULL) + if (tmp != NULL && g_file_test (tmp, G_FILE_TEST_EXISTS)) return g_build_filename (tmp, NULL); basedir = fu_common_get_path (FU_PATH_KIND_LOCALSTATEDIR); return g_build_filename (basedir, "cache", PACKAGE_NAME, NULL);