diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-09-16 22:16:10 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-09-20 12:13:42 +0200 |
commit | 8bc7ff600f065106eed3cad5689ad5db6ab68583 (patch) | |
tree | 12c328e0b1476c4c2baeec2b7668d73b59f75ebf | |
parent | a049ddfc61e20b19fbb64d59602e25e8ccad140e (diff) | |
download | systemd-8bc7ff600f065106eed3cad5689ad5db6ab68583.tar.gz |
nspawn: fix fd leak on failure path
(cherry picked from commit 2fef50cd9eee59cea6145639f6bd464939fac624)
(cherry picked from commit f2763ff6cd9385e82171e17ed83a7698c7f561fd)
-rw-r--r-- | src/nspawn/nspawn.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 164bd826fc..4cbe139ef6 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -2120,7 +2120,7 @@ static int setup_pts(const char *dest) { } static int setup_stdio_as_dev_console(void) { - int terminal; + _cleanup_close_ int terminal = -1; int r; terminal = open_terminal("/dev/console", O_RDWR); @@ -2135,6 +2135,7 @@ static int setup_stdio_as_dev_console(void) { /* invalidates 'terminal' on success and failure */ r = rearrange_stdio(terminal, terminal, terminal); + TAKE_FD(terminal); if (r < 0) return log_error_errno(r, "Failed to move console to stdin/stdout/stderr: %m"); |