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 <konstantin@daynix.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Michael Roth <michael.roth@amd.com>
This commit is contained in:
parent
ce72f11274
commit
24328b7a83
@ -2459,7 +2459,7 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error **errp)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
for (j = 0; hw_ids[j] != NULL; j++) {
|
for (j = 0; hw_ids[j] != NULL; j++) {
|
||||||
GMatchInfo *match_info;
|
g_autoptr(GMatchInfo) match_info;
|
||||||
GuestDeviceIdPCI *id;
|
GuestDeviceIdPCI *id;
|
||||||
if (!g_regex_match(device_pci_re, hw_ids[j], 0, &match_info)) {
|
if (!g_regex_match(device_pci_re, hw_ids[j], 0, &match_info)) {
|
||||||
continue;
|
continue;
|
||||||
@ -2476,7 +2476,6 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error **errp)
|
|||||||
id->vendor_id = g_ascii_strtoull(vendor_id, NULL, 16);
|
id->vendor_id = g_ascii_strtoull(vendor_id, NULL, 16);
|
||||||
id->device_id = g_ascii_strtoull(device_id, NULL, 16);
|
id->device_id = g_ascii_strtoull(device_id, NULL, 16);
|
||||||
|
|
||||||
g_match_info_free(match_info);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (skip) {
|
if (skip) {
|
||||||
|
Loading…
Reference in New Issue
Block a user