Hi All,

For freeing GMatchInfo struct, a special function is required. I'm not sure is
it possible to use g_autoptr in this case or no.
In GLib example
https://developer.gnome.org/glib/stable/glib-Perl-compatible-regular-expressions.html#g-regex-match,
g_match_info_free is used directly.

Best wishes,
Kostiantyn Kostiuk


On Thu, Jun 10, 2021 at 5:41 PM Marc-André Lureau <
marcandre.lur...@gmail.com> wrote:

> Hi
>
> On Thu, Jun 10, 2021 at 6:38 PM Kostiantyn Kostiuk <konstan...@daynix.com>
> wrote:
>
>> The g_regex_match function creates match_info even if it
>> returns FALSE. So we should always call g_match_info_free.
>>
>> Signed-off-by: Kostiantyn Kostiuk <konstan...@daynix.com>
>> ---
>>  qga/commands-win32.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/qga/commands-win32.c b/qga/commands-win32.c
>> index 300b87c859..e8bc3df306 100644
>> --- a/qga/commands-win32.c
>> +++ b/qga/commands-win32.c
>> @@ -2497,6 +2497,7 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error
>> **errp)
>>              GMatchInfo *match_info;
>>
>
> What about using g_autoptr instead?
>
>              GuestDeviceIdPCI *id;
>>              if (!g_regex_match(device_pci_re, hw_ids[j], 0,
>> &match_info)) {
>> +                g_match_info_free(match_info);
>>                  continue;
>>              }
>>              skip = false;
>> --
>> 2.25.1
>>
>>
>>
>
> --
> Marc-André Lureau
>

Reply via email to