]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
rexec: avoid double-close
authorChristian Brauner <christian.brauner@ubuntu.com>
Wed, 15 Apr 2020 11:42:41 +0000 (13:42 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Wed, 15 Apr 2020 11:42:41 +0000 (13:42 +0200)
Fixes: Coverity 1461721.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/rexec.c

index c9c84b8c1a4c9e288f6dea64c89facc1ddb7f09f..3bb43a21564b377a02113cb90c0f50ec200466e0 100644 (file)
@@ -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];