[libvirt] [PATCH] util: don't free dmidecode path string before printing it

Jiri Denemark jdenemar at redhat.com
Wed Sep 19 11:59:36 UTC 2012


On Tue, Sep 18, 2012 at 17:33:57 -0600, Eric Blake wrote:
> On 09/18/2012 04:57 AM, Ján Tomko wrote:
> > The path was freed before printing the error message, resulting in:
> > error : virSysinfoRead:773 : internal error Failed to execute command
> > (null)
> > ---
> >  src/util/sysinfo.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> While this fixes the bug, it is still a less the useful error.
> virCommandRun() already gives a better error message and we are
> overriding it.  I'd prefer:
> 
> diff --git i/src/util/sysinfo.c w/src/util/sysinfo.c
> index 92c3539..7f0a45b 100644
> --- i/src/util/sysinfo.c
> +++ w/src/util/sysinfo.c
> @@ -767,12 +767,8 @@ virSysinfoRead(void) {
>      cmd = virCommandNewArgList(path, "-q", "-t", "0,1,4,17", NULL);
>      VIR_FREE(path);
>      virCommandSetOutputBuffer(cmd, &outbuf);
> -    if (virCommandRun(cmd, NULL) < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR,
> -                       _("Failed to execute command %s"),
> -                       path);
> +    if (virCommandRun(cmd, NULL) < 0)
>          goto cleanup;
> -    }
> 
>      if (VIR_ALLOC(ret) < 0)
>          goto no_memory;
> 
> 

Indeed, ACK to this version.

Jirka




More information about the libvir-list mailing list