[libvirt PATCH v2 10/11] qemuMonitorGetChardevInfo: Use automatic memory management

Tim Wiederhake twiederh at redhat.com
Tue Jul 13 09:54:30 UTC 2021


On Tue, 2021-07-13 at 09:36 +0200, Michal Prívozník wrote:
> On 7/6/21 2:37 PM, Tim Wiederhake wrote:
> > Signed-off-by: Tim Wiederhake <twiederh at redhat.com>
> > ---
> >  src/qemu/qemu_monitor.c | 16 ++++++----------
> >  1 file changed, 6 insertions(+), 10 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
> > index cb59fc7b7b..4489b809f4 100644
> > --- a/src/qemu/qemu_monitor.c
> > +++ b/src/qemu/qemu_monitor.c
> > @@ -2884,25 +2884,21 @@ int
> >  qemuMonitorGetChardevInfo(qemuMonitor *mon,
> >                            GHashTable **retinfo)
> >  {
> > -    GHashTable *info = NULL;
> > +    g_autoptr(GHashTable) info = NULL;
> >  
> >      VIR_DEBUG("retinfo=%p", retinfo);
> >  
> > -    QEMU_CHECK_MONITOR_GOTO(mon, error);
> > +    QEMU_CHECK_MONITOR(mon);
> >  
> > +    *retinfo = NULL;
> 
> This feels redundant. In previous patches you changed the code so
> that
> the output argument is set only in case of success. I think this line
> should be removed.
> 

Previous behavior was to set *retinfo to NULL explicitly ...

> >      if (!(info = virHashNew(qemuMonitorChardevInfoFree)))
> > -        goto error;
> > +        return -1;
> >  
> >      if (qemuMonitorJSONGetChardevInfo(mon, info) < 0)
> > -        goto error;
> > +        return -1;
> >  
> > -    *retinfo = info;
> > +    *retinfo = g_steal_pointer(&info);
> >      return 0;
> > -
> > - error:
> > -    virHashFree(info);
> > -    *retinfo = NULL;

... here, if an error occured. From what I can tell, this is not really
neccessary, feel free to merge with or without the explicit "*retinfo =
NULL;".

Thanks,
Tim

> > -    return -1;
> >  }
> >  
> >  
> > 
> 
> Michal
> 





More information about the libvir-list mailing list