From 41de458aed16f7ea5d80e6773571fd79fce27930 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 3 Nov 2023 09:42:53 +0100 Subject: [PATCH] nspawn: fix two failure paths We need to go to "finish" rather than just return. All our exit paths got this right, except two. --- src/nspawn/nspawn.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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), -- 2.47.3