]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
Fix double close of vhost_fd on error
authorDavid Woodhouse <dwmw2@infradead.org>
Thu, 8 Jul 2021 19:27:22 +0000 (20:27 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Thu, 8 Jul 2021 19:27:22 +0000 (20:27 +0100)
Spotted by Coverity.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
vhost.c

diff --git a/vhost.c b/vhost.c
index a311d9ff2920334d15cb2def99d71ecb56862656..948276750972d25a7f07b6d3e55faea800847779 100644 (file)
--- a/vhost.c
+++ b/vhost.c
@@ -114,7 +114,6 @@ static int setup_vring(struct openconnect_info *vpninfo, int idx)
                ret = -errno;
                vpn_progress(vpninfo, PRG_ERR, _("Failed to set vring #%d call eventfd: %s\n"),
                             idx, strerror(-ret));
-               close(vpninfo->vhost_fd);
                return ret;
        }
 
@@ -123,12 +122,12 @@ static int setup_vring(struct openconnect_info *vpninfo, int idx)
                ret = -errno;
                vpn_progress(vpninfo, PRG_ERR, _("Failed to set vring #%d kick eventfd: %s\n"),
                             idx, strerror(-ret));
-               close(vpninfo->vhost_fd);
                return ret;
        }
 
        return 0;
 }
+
 #define OC_VHOST_NET_FEATURES ((1ULL << VHOST_NET_F_VIRTIO_NET_HDR) |  \
                               (1ULL << VIRTIO_F_VERSION_1) |           \
                               (1ULL << VIRTIO_RING_F_EVENT_IDX))