[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH-for-6.1 v2] qga-win: Free GMatchInfo properly
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH-for-6.1 v2] qga-win: Free GMatchInfo properly |
Date: |
Wed, 28 Jul 2021 13:58:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Still candidate for 6.1.
On 7/28/21 9:54 AM, Konstantin Kostiuk wrote:
> ping
>
> On Wed, Jul 14, 2021 at 10:26 AM Konstantin Kostiuk
> <konstantin@daynix.com <mailto:konstantin@daynix.com>> wrote:
>
> CC Michael Roth
>
> On Thu, Jun 10, 2021 at 7:14 PM Daniel P. Berrangé
> <berrange@redhat.com <mailto:berrange@redhat.com>> wrote:
>
> On Thu, Jun 10, 2021 at 07:08:36PM +0300, Konstantin Kostiuk wrote:
> > On Thu, Jun 10, 2021 at 7:02 PM Daniel P. Berrangé
> <berrange@redhat.com <mailto:berrange@redhat.com>>
> > wrote:
> >
> > > On Thu, Jun 10, 2021 at 06:58:11PM +0300, Kostiantyn Kostiuk
> wrote:
> > > > 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
> <mailto:konstantin@daynix.com>>
> > > > ---
> > > > qga/commands-win32.c | 3 +--
> > > > 1 file changed, 1 insertion(+), 2 deletions(-)
> > > >
> > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c
> > > > index 300b87c859..785a5cc6b2 100644
> > > > --- a/qga/commands-win32.c
> > > > +++ b/qga/commands-win32.c
> > > > @@ -2494,7 +2494,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;
> > >
> > > This should be initialized to NULL otherwise...
> > >
> > > > GuestDeviceIdPCI *id;
> > > > if (!g_regex_match(device_pci_re, hw_ids[j], 0,
> > > &match_info)) {
> > > > continue;
> > >
> > > this continue will trigger freeing of unintialized memory
> > >
> >
> > But we always call match_info, so match_info is always
> initialized.
> > The g_regex_match function creates match_info even if it
> returns FALSE.
>
> Opps, yes, you are right.
>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com
> <mailto:berrange@redhat.com>>
>
>
> Regards,
> Daniel
> --
> |: https://berrange.com <https://berrange.com> -o-
> https://www.flickr.com/photos/dberrange
> <https://www.flickr.com/photos/dberrange> :|
> |: https://libvirt.org <https://libvirt.org> -o-
> https://fstop138.berrange.com <https://fstop138.berrange.com> :|
> |: https://entangle-photo.org <https://entangle-photo.org>
> -o- https://www.instagram.com/dberrange
> <https://www.instagram.com/dberrange> :|
>