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)
|
||||
{
|
||||
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) {
|
||||
usb_device_detach(dev);
|
||||
|
Loading…
Reference in New Issue
Block a user