From: Lennart Poettering Date: Fri, 3 Nov 2023 08:42:53 +0000 (+0100) Subject: nspawn: fix two failure paths X-Git-Tag: v255-rc1~33 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=41de458aed16f7ea5d80e6773571fd79fce27930;p=thirdparty%2Fsystemd.git nspawn: fix two failure paths We need to go to "finish" rather than just return. All our exit paths got this right, except two. --- diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 51791d97298..8707c2ff31f 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -5659,8 +5659,10 @@ static int run(int argc, char *argv[]) { if (arg_pivot_root_new) { b = path_join(arg_directory, arg_pivot_root_new); - if (!b) - return log_oom(); + if (!b) { + r = log_oom(); + goto finish; + } p = b; } else @@ -5678,8 +5680,10 @@ static int run(int argc, char *argv[]) { p = path_join(arg_directory, arg_pivot_root_new, "/usr/"); else p = path_join(arg_directory, "/usr/"); - if (!p) - return log_oom(); + if (!p) { + r = log_oom(); + goto finish; + } if (laccess(p, F_OK) < 0) { r = log_error_errno(SYNTHETIC_ERRNO(EINVAL),