diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/install.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/shared/install.c b/src/shared/install.c index 8036b0a404..b7e8f14531 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -1941,7 +1941,7 @@ int unit_file_link( unsigned *n_changes) { _cleanup_lookup_paths_free_ LookupPaths paths = {}; - _cleanup_free_ char **todo = NULL; + _cleanup_strv_free_ char **todo = NULL; size_t n_todo = 0, n_allocated = 0; const char *config_path; char **i; @@ -1990,7 +1990,11 @@ int unit_file_link( if (!GREEDY_REALLOC0(todo, n_allocated, n_todo + 2)) return -ENOMEM; - todo[n_todo++] = *i; + todo[n_todo] = strdup(*i); + if (!todo[n_todo]) + return -ENOMEM; + + n_todo++; } strv_uniq(todo); |