From: Yu Watanabe Date: Thu, 27 Aug 2020 04:49:21 +0000 (+0900) Subject: core: clear bind mounts on error X-Git-Tag: v247-rc1~351^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8062e643e62387895ea9c3243aeca7c7a894fcd1;p=thirdparty%2Fsystemd.git core: clear bind mounts on error Follow-up for bbb4e7f39f2c68c719c26c2c65f8b7b91b009e92. Fixes CID#1431998. --- diff --git a/src/core/execute.c b/src/core/execute.c index 444c3985f1b..1680fc72a20 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -3127,8 +3127,10 @@ static int apply_mount_namespace( if (exec_context_has_credentials(context) && params->prefix[EXEC_DIRECTORY_RUNTIME]) { creds_path = path_join(params->prefix[EXEC_DIRECTORY_RUNTIME], "credentials", u->id); - if (!creds_path) - return -ENOMEM; + if (!creds_path) { + r = -ENOMEM; + goto finalize; + } } r = setup_namespace(root_dir, root_image, context->root_image_options, @@ -3174,6 +3176,7 @@ static int apply_mount_namespace( } } +finalize: bind_mount_free_many(bind_mounts, n_bind_mounts); return r; }