[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 4/9] gqa-win: get_pci_info: Free parent_dev_info properly
From: |
Konstantin Kostiuk |
Subject: |
[PULL 4/9] gqa-win: get_pci_info: Free parent_dev_info properly |
Date: |
Mon, 10 Jan 2022 15:46:39 +0200 |
From: Kostiantyn Kostiuk <konstantin@daynix.com>
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>
---
qga/commands-win32.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index 93c5375132..f6de9e2676 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -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);
}
--
2.25.1
- [PULL 0/9] qemu-ga-win patches, Konstantin Kostiuk, 2022/01/10
- [PULL 1/9] MAINTAINERS: Add entry for QEMU Guest Agent Windows components, Konstantin Kostiuk, 2022/01/10
- [PULL 2/9] gqa-win: get_pci_info: Clean dev_info if handle is valid, Konstantin Kostiuk, 2022/01/10
- [PULL 3/9] gqa-win: get_pci_info: Use common 'end' label, Konstantin Kostiuk, 2022/01/10
- [PULL 5/9] gqa-win: get_pci_info: Split logic to separate functions, Konstantin Kostiuk, 2022/01/10
- [PULL 6/9] gqa-win: get_pci_info: Add g_autofree for few variables, Konstantin Kostiuk, 2022/01/10
- [PULL 7/9] gqa-win: get_pci_info: Replace 'while' with 2 calls of the function, Konstantin Kostiuk, 2022/01/10
- [PULL 8/9] qga-win: Detect OS based on Windows 10 by first build number, Konstantin Kostiuk, 2022/01/10
- [PULL 4/9] gqa-win: get_pci_info: Free parent_dev_info properly,
Konstantin Kostiuk <=
- [PULL 9/9] qga-win: Detect Windows 11 by build number, Konstantin Kostiuk, 2022/01/10
- Re: [PULL 0/9] qemu-ga-win patches, Philippe Mathieu-Daudé, 2022/01/10
- Re: [PULL 0/9] qemu-ga-win patches, Peter Maydell, 2022/01/15