From: Zbigniew Jędrzejewski-Szmek Date: Fri, 9 Jan 2015 06:27:31 +0000 (-0500) Subject: tmpfiles: make sure not to concatenate non-absolute path X-Git-Tag: v219~375 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=222c47f47615a275b9a9862a45f9b91b01eb8be5;p=elogind.git tmpfiles: make sure not to concatenate non-absolute path If the path is absolute was only checked later. Also do not check if path if absolute if we just specified it starting with a slash. --- diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 8811f2748..84d778a08 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -1321,7 +1321,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { case CREATE_SYMLINK: if (!i->argument) { - i->argument = strappend("/usr/share/factory", i->path); + i->argument = strappend("/usr/share/factory/", i->path); if (!i->argument) return log_oom(); } @@ -1336,12 +1336,10 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { case COPY_FILES: if (!i->argument) { - i->argument = strappend("/usr/share/factory", i->path); + i->argument = strappend("/usr/share/factory/", i->path); if (!i->argument) return log_oom(); - } - - if (!path_is_absolute(i->argument)) { + } else if (!path_is_absolute(i->argument)) { log_error("[%s:%u] Source path is not absolute.", fname, line); return -EBADMSG; }