From f012bec8909820390936f1cf68b3e73a2d4ac966 Mon Sep 17 00:00:00 2001 From: yuanjungong Date: Thu, 19 Nov 2020 17:25:32 +0800 Subject: tap: fix a memory leak Close fd before returning. Buglink: https://bugs.launchpad.net/qemu/+bug/1904486 Signed-off-by: yuanjungong Reviewed-by: Peter Maydell Signed-off-by: Jason Wang --- net/tap.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'net') diff --git a/net/tap.c b/net/tap.c index c46ff66..fe95fa7 100644 --- 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) { -- cgit v1.1