[libvirt] [PATCH] qemuxml2argvtest: Don't leak TPM unix path
Andrea Bolognani
abologna at redhat.com
Thu Jun 14 10:14:46 UTC 2018
On Thu, 2018-06-14 at 11:09 +0200, Michal Privoznik wrote:
> On 06/14/2018 10:39 AM, Andrea Bolognani wrote:
> > On Wed, 2018-06-13 at 15:58 +0200, Michal Privoznik wrote:
> > > When testing a domain XML with TPM we overwrite UNIX socket path
> > > to mimic what qemuTPMEmulatorPrepareHost() is doing (because
> > > *PrepareHost() functions are not called from the test). But we
> > > are not doing it fully - we need to set the chardev's type too so
> > > that virDomainTPMDefFree() can free the path.
> > >
> > > Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> > > ---
> > > tests/qemuxml2argvtest.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> > > index f630185de1..daa8d4ceeb 100644
> > > --- a/tests/qemuxml2argvtest.c
> > > +++ b/tests/qemuxml2argvtest.c
> > > @@ -551,9 +551,11 @@ testCompareXMLToArgv(const void *data)
> > > if (vm->def->tpm) {
> > > switch (vm->def->tpm->type) {
> > > case VIR_DOMAIN_TPM_TYPE_EMULATOR:
> > > + VIR_FREE(vm->def->tpm->data.emulator.source.data.file.path);
> > > if (VIR_STRDUP(vm->def->tpm->data.emulator.source.data.file.path,
> > > "/dev/test") < 0)
> > > goto cleanup;
> > > + vm->def->tpm->data.emulator.source.type = VIR_DOMAIN_CHR_TYPE_UNIX;
> >
> > Looking at virDomainChrSourceDefClear(), called by
> > virDomainTPMDefFree(), when type is CHR_TYPE_UNIX data.nix.path
> > will be VIR_FREE()d, so I think you want to set type to
> > CHR_TYPE_FILE instead.
>
> Ah, good point. Do you trust me enough that I can fix this before
> pushing or do you want to see v2? ;-)
No need for a v2, just fix it and push O:-)
Reviewed-by: Andrea Bolognani <abologna at redhat.com>
--
Andrea Bolognani / Red Hat / Virtualization
More information about the libvir-list
mailing list