瀏覽代碼

virtio-input: fix memory leak on unrealize

Spotted by ASAN + minor stylistic change.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20191121095649.25453-1-marcandre.lureau@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Marc-André Lureau 5 年之前
父節點
當前提交
509ec36c1e
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      hw/input/virtio-input.c

+ 3 - 0
hw/input/virtio-input.c

@@ -275,6 +275,7 @@ static void virtio_input_finalize(Object *obj)
 
 
     g_free(vinput->queue);
     g_free(vinput->queue);
 }
 }
+
 static void virtio_input_device_unrealize(DeviceState *dev, Error **errp)
 static void virtio_input_device_unrealize(DeviceState *dev, Error **errp)
 {
 {
     VirtIOInputClass *vic = VIRTIO_INPUT_GET_CLASS(dev);
     VirtIOInputClass *vic = VIRTIO_INPUT_GET_CLASS(dev);
@@ -288,6 +289,8 @@ static void virtio_input_device_unrealize(DeviceState *dev, Error **errp)
             return;
             return;
         }
         }
     }
     }
+    virtio_del_queue(vdev, 0);
+    virtio_del_queue(vdev, 1);
     virtio_cleanup(vdev);
     virtio_cleanup(vdev);
 }
 }