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@xxxxxxxxxx> > --- > 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. -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list