gqa-win: get_pci_info: Free parent_dev_info properly
In case when the function fails to get parent device data, the parent_dev_info variable will be initialized, but not freed. Signed-off-by: Kostiantyn Kostiuk <konstantin@daynix.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Kostiantyn Kostiuk <kkostiuk@redhat.com>
This commit is contained in:
parent
e78ca586d6
commit
c49ca88b55
@ -515,6 +515,8 @@ DEFINE_GUID(GUID_DEVINTERFACE_STORAGEPORT,
|
|||||||
static GuestPCIAddress *get_pci_info(int number, Error **errp)
|
static GuestPCIAddress *get_pci_info(int number, Error **errp)
|
||||||
{
|
{
|
||||||
HDEVINFO dev_info = INVALID_HANDLE_VALUE;
|
HDEVINFO dev_info = INVALID_HANDLE_VALUE;
|
||||||
|
HDEVINFO parent_dev_info = INVALID_HANDLE_VALUE;
|
||||||
|
|
||||||
SP_DEVINFO_DATA dev_info_data;
|
SP_DEVINFO_DATA dev_info_data;
|
||||||
SP_DEVICE_INTERFACE_DATA dev_iface_data;
|
SP_DEVICE_INTERFACE_DATA dev_iface_data;
|
||||||
HANDLE dev_file;
|
HANDLE dev_file;
|
||||||
@ -542,7 +544,6 @@ static GuestPCIAddress *get_pci_info(int number, Error **errp)
|
|||||||
PSP_DEVICE_INTERFACE_DETAIL_DATA pdev_iface_detail_data = NULL;
|
PSP_DEVICE_INTERFACE_DETAIL_DATA pdev_iface_detail_data = NULL;
|
||||||
STORAGE_DEVICE_NUMBER sdn;
|
STORAGE_DEVICE_NUMBER sdn;
|
||||||
char *parent_dev_id = NULL;
|
char *parent_dev_id = NULL;
|
||||||
HDEVINFO parent_dev_info;
|
|
||||||
SP_DEVINFO_DATA parent_dev_info_data;
|
SP_DEVINFO_DATA parent_dev_info_data;
|
||||||
DWORD j;
|
DWORD j;
|
||||||
DWORD size = 0;
|
DWORD size = 0;
|
||||||
@ -744,11 +745,13 @@ static GuestPCIAddress *get_pci_info(int number, Error **errp)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetupDiDestroyDeviceInfoList(parent_dev_info);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
if (parent_dev_info != INVALID_HANDLE_VALUE) {
|
||||||
|
SetupDiDestroyDeviceInfoList(parent_dev_info);
|
||||||
|
}
|
||||||
if (dev_info != INVALID_HANDLE_VALUE) {
|
if (dev_info != INVALID_HANDLE_VALUE) {
|
||||||
SetupDiDestroyDeviceInfoList(dev_info);
|
SetupDiDestroyDeviceInfoList(dev_info);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user