[PATCH 2/2] qemuDomainGetGuestInfo: Don't try to free a negative number of entries

Peter Krempa pkrempa at redhat.com
Fri Mar 13 08:27:14 UTC 2020


On Fri, Mar 13, 2020 at 07:39:24 +0100, Ján Tomko wrote:
> On a Thursday in 2020, Peter Krempa wrote:
> > 'nfs' variable was set to -1 or -2 on agent failure. Cleanup then tried
> > to free 'nfs' elements of the array which resulted into a crash.
> > 
> > Make 'nfs' size_t and assign it only on successful agent call.
> > 
> > https://bugzilla.redhat.com/show_bug.cgi?id=1812965
> > 
> > Broken by commit 599ae372d8cf092
> > 
> > Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> > ---
> > src/qemu/qemu_agent.c  |  2 +-
> > src/qemu/qemu_driver.c | 12 ++++++++----
> > 2 files changed, 9 insertions(+), 5 deletions(-)

[...]

> > @@ -22867,9 +22867,13 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
> 
> Some separate issues:
> 
> The hostname call above also shares the same code path on unsupported
> command and success, assigning NULL to the TypedParameter

I'll fix this.

> 
> Also, I'm confused about the 'types' semantics - info types unsupported
> by libvirt (none so far, unless the caller passed in nonsensical values)

Yes that's also weird. I have a patch.

> are quietly filtered out. But if a type was requested and the agent does
> not support it, we error out without actually setting an error.

Actually qemuAgentCommand calls qemuAgentCheckError all the time even if
we don't want to report the error.

I'm not sure if we care.




More information about the libvir-list mailing list