]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
tap: fix a memory leak
authoryuanjungong <ruc_gongyuanjun@163.com>
Thu, 19 Nov 2020 09:25:32 +0000 (17:25 +0800)
committerJason Wang <jasowang@redhat.com>
Tue, 24 Nov 2020 02:40:17 +0000 (10:40 +0800)
Close fd before returning.

Buglink: https://bugs.launchpad.net/qemu/+bug/1904486
Signed-off-by: yuanjungong <ruc_gongyuanjun@163.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
net/tap.c

index c46ff661841aae13a7996c29119542e5ae81bfd2..fe95fa70733c24efd3de0f69c790645d23741cb7 100644 (file)
--- a/net/tap.c
+++ b/net/tap.c
@@ -817,6 +817,7 @@ int net_init_tap(const Netdev *netdev, const char *name,
         if (ret < 0) {
             error_setg_errno(errp, -ret, "%s: Can't use file descriptor %d",
                              name, fd);
+            close(fd);
             return -1;
         }
 
@@ -831,6 +832,7 @@ int net_init_tap(const Netdev *netdev, const char *name,
                          vhostfdname, vnet_hdr, fd, &err);
         if (err) {
             error_propagate(errp, err);
+            close(fd);
             return -1;
         }
     } else if (tap->has_fds) {