OSDN Git Service

vhost-vdpa: fix improper cleanup in net_init_vhost_vdpa
authorSi-Wei Liu <si-wei.liu@oracle.com>
Sat, 7 May 2022 02:28:14 +0000 (19:28 -0700)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 16 May 2022 20:15:40 +0000 (16:15 -0400)
... 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>
net/vhost-vdpa.c

index 1e9fe47..df1e69e 100644 (file)
@@ -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);