]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/install: try even harder to make sure variable is initalized 12116/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 26 Mar 2019 11:46:02 +0000 (12:46 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 26 Mar 2019 18:58:17 +0000 (19:58 +0100)
Apparently the fix in a05294ff05923563087b53c1db64816130be3b34 was
not sufficient. Let's declare the two arrays as static variables.

src/shared/install.c

index 75b6aace0a730d2b65e18385a4369c9b5ceba6e0..ca52d17e4fe849b5d479d77a9f81d07de0c81583 100644 (file)
@@ -2822,17 +2822,17 @@ static int split_pattern_into_name_and_instances(const char *pattern, char **out
 }
 
 static int presets_find_config(UnitFileScope scope, const char *root_dir, char ***files) {
+        static const char* const system_dirs[] = {CONF_PATHS("systemd/system-preset"), NULL};
+        static const char* const user_dirs[] = {CONF_PATHS_USR("systemd/user-preset"), NULL};
         const char* const* dirs;
 
         assert(scope >= 0);
         assert(scope < _UNIT_FILE_SCOPE_MAX);
 
         if (scope == UNIT_FILE_SYSTEM)
-                dirs = (const char* const*) CONF_PATHS_STRV("systemd/system-preset");
-
+                dirs = system_dirs;
         else if (IN_SET(scope, UNIT_FILE_GLOBAL, UNIT_FILE_USER))
-                dirs = (const char* const*) CONF_PATHS_USR_STRV("systemd/user-preset");
-
+                dirs = user_dirs;
         else
                 assert_not_reached("Invalid unit file scope");