From 9348f0e690c28f86a69c96e3e9b9f19a31c6d466 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Wed, 1 Oct 2014 07:33:22 -0500 Subject: tmpfiles: use allocated buffer for path Paths can in principle be longer then PATH_MAX, so simply allocate the buffer with malloc(). CID #1237773 --- src/tmpfiles/tmpfiles.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/tmpfiles/tmpfiles.c') 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; -- cgit v1.2.3-54-g00ecf