load-fragment: do not create empty array
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 4 Oct 2017 06:21:12 +0000 (15:21 +0900)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 4 Oct 2017 09:23:42 +0000 (11:23 +0200)
Originally added in 4589f5bb0a973e9a41be93de06c87072cea4dfb9.
C.f. 8249bb728db6c2abaf12575d661b52571bdc1ab1 and #6746.

src/core/load-fragment.c

index 2c3783a..5dd1787 100644 (file)
@@ -284,19 +284,7 @@ int config_parse_unit_path_strv_printf(
         assert(u);
 
         if (isempty(rvalue)) {
-                char **empty;
-
-                /* Empty assignment resets the list. As a special rule
-                 * we actually fill in a real empty array here rather
-                 * than NULL, since some code wants to know if
-                 * something was set at all... */
-                empty = new0(char*, 1);
-                if (!empty)
-                        return log_oom();
-
-                strv_free(*x);
-                *x = empty;
-
+                *x = strv_free(*x);
                 return 0;
         }
 
@@ -1968,15 +1956,7 @@ int config_parse_user_group_strv(
         assert(u);
 
         if (isempty(rvalue)) {
-                char **empty;
-
-                empty = new0(char*, 1);
-                if (!empty)
-                        return log_oom();
-
-                strv_free(*users);
-                *users = empty;
-
+                *users = strv_free(*users);
                 return 0;
         }