[libvirt] [PATCH v3 09/34] Adapt to VIR_STRDUP and VIR_STRNDUP in src/lxc/*

Daniel P. Berrange berrange at redhat.com
Thu May 9 08:15:30 UTC 2013


On Wed, May 08, 2013 at 04:01:04PM -0600, Eric Blake wrote:
> On 05/03/2013 08:53 AM, Michal Privoznik wrote:
> > ---
> >  src/lxc/lxc_cgroup.c     |  3 +--
> >  src/lxc/lxc_conf.c       | 36 +++++++++++++++++-------------------
> >  src/lxc/lxc_container.c  | 18 ++++--------------
> >  src/lxc/lxc_controller.c | 20 ++++++++------------
> >  src/lxc/lxc_driver.c     |  9 ++-------
> >  src/lxc/lxc_process.c    |  7 ++++---
> >  6 files changed, 36 insertions(+), 57 deletions(-)
> > 
> > diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
> > @@ -161,18 +161,18 @@ int lxcLoadDriverConfig(virLXCDriverPtr driver)
> >      driver->securityRequireConfined = false;
> >  
> >      /* Set the container configuration directory */
> > -    if ((driver->configDir = strdup(LXC_CONFIG_DIR)) == NULL)
> > -        goto no_memory;
> > -    if ((driver->stateDir = strdup(LXC_STATE_DIR)) == NULL)
> > -        goto no_memory;
> > -    if ((driver->logDir = strdup(LXC_LOG_DIR)) == NULL)
> > -        goto no_memory;
> > -    if ((driver->autostartDir = strdup(LXC_AUTOSTART_DIR)) == NULL)
> > -        goto no_memory;
> > +    if (VIR_STRDUP(driver->configDir, LXC_CONFIG_DIR) < 0)
> > +        goto error;
> > +    if (VIR_STRDUP(driver->stateDir, LXC_STATE_DIR) < 0)
> > +        goto error;
> > +    if (VIR_STRDUP(driver->logDir, LXC_LOG_DIR) < 0)
> > +        goto error;
> > +    if (VIR_STRDUP(driver->autostartDir, LXC_AUTOSTART_DIR) < 0)
> > +        goto error;
> 
> You could chain these into one 'if', if desired.

I generally prefer it if we do not merge separate statements
like these into one if, because it makes debugging harder.
eg if any of these were to generate a SEGV, then GDB can
only tell you the line of the start of the if(). Having
them separate it can tell you exactly which is at fault.

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list