mirror of https://github.com/xemu-project/xemu.git
usb: free USBDevice.strings
The list is created during instance init and further populated with usb_desc_set_string(). Clear it when unrealizing the device. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
0137a557aa
commit
ec507f1123
|
@ -279,6 +279,13 @@ static void usb_qdev_realize(DeviceState *qdev, Error **errp)
|
||||||
static void usb_qdev_unrealize(DeviceState *qdev, Error **errp)
|
static void usb_qdev_unrealize(DeviceState *qdev, Error **errp)
|
||||||
{
|
{
|
||||||
USBDevice *dev = USB_DEVICE(qdev);
|
USBDevice *dev = USB_DEVICE(qdev);
|
||||||
|
USBDescString *s, *next;
|
||||||
|
|
||||||
|
QLIST_FOREACH_SAFE(s, &dev->strings, next, next) {
|
||||||
|
QLIST_REMOVE(s, next);
|
||||||
|
g_free(s->str);
|
||||||
|
g_free(s);
|
||||||
|
}
|
||||||
|
|
||||||
if (dev->attached) {
|
if (dev->attached) {
|
||||||
usb_device_detach(dev);
|
usb_device_detach(dev);
|
||||||
|
|
Loading…
Reference in New Issue