diff options
author | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2020-01-31 19:52:14 +0000 |
---|---|---|
committer | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2020-02-10 17:24:43 +0000 |
commit | 6fa249027f97e3080f3d9c0fab3f94f8f80828fe (patch) | |
tree | f06301b467f7b3be89d9db2cb6accdff5f5281f9 /tools/virtiofsd/fuse_virtio.c | |
parent | 988717b46b6424907618cb845ace9d69062703af (diff) | |
download | qemu-6fa249027f97e3080f3d9c0fab3f94f8f80828fe.zip qemu-6fa249027f97e3080f3d9c0fab3f94f8f80828fe.tar.gz qemu-6fa249027f97e3080f3d9c0fab3f94f8f80828fe.tar.bz2 |
virtiofsd: fv_create_listen_socket error path socket leak
If we fail when bringing up the socket we can leak the listen_fd;
in practice the daemon will exit so it's not really a problem.
Fixes: Coverity CID 1413121
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'tools/virtiofsd/fuse_virtio.c')
-rw-r--r-- | tools/virtiofsd/fuse_virtio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index 80a6e92..dd1c605 100644 --- a/tools/virtiofsd/fuse_virtio.c +++ b/tools/virtiofsd/fuse_virtio.c @@ -916,6 +916,7 @@ static int fv_create_listen_socket(struct fuse_session *se) old_umask = umask(0077); if (bind(listen_sock, (struct sockaddr *)&un, addr_len) == -1) { fuse_log(FUSE_LOG_ERR, "vhost socket bind: %m\n"); + close(listen_sock); umask(old_umask); return -1; } @@ -923,6 +924,7 @@ static int fv_create_listen_socket(struct fuse_session *se) if (listen(listen_sock, 1) == -1) { fuse_log(FUSE_LOG_ERR, "vhost socket listen: %m\n"); + close(listen_sock); return -1; } |