diff options
-rw-r--r-- | src/tmpfiles/tmpfiles.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 7eafd6bb30..dafb9aee2f 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -1064,7 +1064,7 @@ static int clean_item(Item *i) { static int process_item(Item *i) { int r, q, p; - char prefix[PATH_MAX]; + _cleanup_free_ char *prefix = NULL; assert(i); @@ -1073,6 +1073,10 @@ static int process_item(Item *i) { i->done = true; + prefix = malloc(strlen(i->path) + 1); + if (!prefix) + return log_oom(); + PATH_FOREACH_PREFIX(prefix, i->path) { Item *j; |