From: Kostiantyn Kostiuk Date: Thu, 10 Jun 2021 15:58:11 +0000 (+0300) Subject: qga-win: Free GMatchInfo properly X-Git-Tag: qemu-xen-4.16.0-rc4~26^2~2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=24328b7a83a43d65389eda0cbabbd67595f43b5b;p=qemu-xen.git qga-win: Free GMatchInfo properly The g_regex_match function creates match_info even if it returns FALSE. So we should always call g_match_info_free. A better solution is using g_autoptr for match_info variable. Signed-off-by: Kostiantyn Kostiuk Reviewed-by: Daniel P. Berrangé Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Michael Roth --- diff --git a/qga/commands-win32.c b/qga/commands-win32.c index 098211e724..7bac0c5d42 100644 --- a/qga/commands-win32.c +++ b/qga/commands-win32.c @@ -2459,7 +2459,7 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error **errp) continue; } for (j = 0; hw_ids[j] != NULL; j++) { - GMatchInfo *match_info; + g_autoptr(GMatchInfo) match_info; GuestDeviceIdPCI *id; if (!g_regex_match(device_pci_re, hw_ids[j], 0, &match_info)) { continue; @@ -2476,7 +2476,6 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error **errp) id->vendor_id = g_ascii_strtoull(vendor_id, NULL, 16); id->device_id = g_ascii_strtoull(device_id, NULL, 16); - g_match_info_free(match_info); break; } if (skip) {