[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