aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSi-Wei Liu <si-wei.liu@oracle.com>2022-05-06 19:28:14 -0700
committerMichael S. Tsirkin <mst@redhat.com>2022-05-16 16:15:40 -0400
commit9bd055073e375c8a0d7ebce925e05d914d69fc7f (patch)
tree2bf47a4b868298f38cd9617df62a078dd630b44b /net
parent68b0a6395f36a8f48f56f46d05f30be2067598b0 (diff)
vhost-vdpa: fix improper cleanup in net_init_vhost_vdpa
... such that no memory leaks on dangling net clients in case of error. Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <1651890498-24478-4-git-send-email-si-wei.liu@oracle.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'net')
-rw-r--r--net/vhost-vdpa.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 1e9fe47c03..df1e69ee72 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -306,7 +306,9 @@ int net_init_vhost_vdpa(const Netdev *netdev, const char *name,
err:
if (i) {
- qemu_del_net_client(ncs[0]);
+ for (i--; i >= 0; i--) {
+ qemu_del_net_client(ncs[i]);
+ }
}
qemu_close(vdpa_device_fd);