From: Lennart Poettering Date: Thu, 12 Feb 2015 17:58:43 +0000 (+0100) Subject: exec: also evaluate working_directory_missing_ok when not applying chroots X-Git-Tag: v219~59 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=cf1d0302aeaf4e44a6a643fb41e5525fdd04b1d5 exec: also evaluate working_directory_missing_ok when not applying chroots --- diff --git a/src/core/execute.c b/src/core/execute.c index 1f6072c6a..340b8000d 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -1626,13 +1626,14 @@ static int exec_child( _cleanup_free_ char *d = NULL; if (asprintf(&d, "%s/%s", - context->root_directory ? context->root_directory : "", - context->working_directory ? context->working_directory : "") < 0) { + context->root_directory ?: "", + context->working_directory ?: "") < 0) { *exit_status = EXIT_MEMORY; return -ENOMEM; } - if (chdir(d) < 0) { + if (chdir(d) < 0 && + !context->working_directory_missing_ok) { *exit_status = EXIT_CHDIR; return -errno; }