From: Christian Brauner Date: Wed, 15 Apr 2020 11:42:41 +0000 (+0200) Subject: rexec: avoid double-close X-Git-Tag: lxc-5.0.0~451^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67e724615c8228d7f0398bce707bc25e30696b72;p=thirdparty%2Flxc.git rexec: avoid double-close Fixes: Coverity 1461721. Signed-off-by: Christian Brauner --- diff --git a/src/lxc/rexec.c b/src/lxc/rexec.c index c9c84b8c1..3bb43a215 100644 --- a/src/lxc/rexec.c +++ b/src/lxc/rexec.c @@ -88,7 +88,7 @@ static int is_memfd(void) static void lxc_rexec_as_memfd(char **argv, char **envp, const char *memfd_name) { __do_close int execfd = -EBADF, fd = -EBADF, memfd = -EBADF, - tmpfd = -EBADF; + tmpfd = -EBADF; int ret; ssize_t bytes_sent = 0; struct stat st = {0}; @@ -143,7 +143,7 @@ static void lxc_rexec_as_memfd(char **argv, char **envp, const char *memfd_name) if (fcntl(memfd, F_ADD_SEALS, LXC_MEMFD_REXEC_SEALS)) return; - execfd = memfd; + execfd = move_fd(memfd); } else { char procfd[LXC_PROC_PID_FD_LEN];