summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorSi-Wei Liu2022-05-07 04:28:14 +0200
committerMichael S. Tsirkin2022-05-16 22:15:40 +0200
commit9bd055073e375c8a0d7ebce925e05d914d69fc7f (patch)
tree2bf47a4b868298f38cd9617df62a078dd630b44b /net
parentvirtio-net: align ctrl_vq index for non-mq guest for vhost_vdpa (diff)
downloadqemu-9bd055073e375c8a0d7ebce925e05d914d69fc7f.tar.gz
qemu-9bd055073e375c8a0d7ebce925e05d914d69fc7f.tar.xz
qemu-9bd055073e375c8a0d7ebce925e05d914d69fc7f.zip
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);