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)
|
||||
{
|
||||
HDEVINFO dev_info = INVALID_HANDLE_VALUE;
|
||||
HDEVINFO parent_dev_info = INVALID_HANDLE_VALUE;
|
||||
|
||||
SP_DEVINFO_DATA dev_info_data;
|
||||
SP_DEVICE_INTERFACE_DATA dev_iface_data;
|
||||
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;
|
||||
STORAGE_DEVICE_NUMBER sdn;
|
||||
char *parent_dev_id = NULL;
|
||||
HDEVINFO parent_dev_info;
|
||||
SP_DEVINFO_DATA parent_dev_info_data;
|
||||
DWORD j;
|
||||
DWORD size = 0;
|
||||
@ -744,11 +745,13 @@ static GuestPCIAddress *get_pci_info(int number, Error **errp)
|
||||
break;
|
||||
}
|
||||
}
|
||||
SetupDiDestroyDeviceInfoList(parent_dev_info);
|
||||
break;
|
||||
}
|
||||
|
||||
end:
|
||||
if (parent_dev_info != INVALID_HANDLE_VALUE) {
|
||||
SetupDiDestroyDeviceInfoList(parent_dev_info);
|
||||
}
|
||||
if (dev_info != INVALID_HANDLE_VALUE) {
|
||||
SetupDiDestroyDeviceInfoList(dev_info);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user