libvirt/src/qemu
John Ferlan 228ae70938 qemu: Fix double free in qemuDomainSecretAESClear
Commit id 02b031a4 added a secondary path from which the
incoming @secinfo would not be free'd until the private
data was freed in qemuDomainStorageSourcePrivateDispose.

However, by doing this the original intention to free
@*secinfo afterwards is lost and thus the pass by value
of the secinfo->s.aes (or secinfo->s.plain for its method)
results in not keeping the NULL setting in the various
secret.{username|iv|ciphertext} fields upon return to
qemuDomainSecretInfoClear and eventually will result in
a double free at domain destroy:

    raise ()
    abort ()
    __libc_message ()
    malloc_printerr ()
    _int_free ()
    virFree
    qemuDomainSecretAESClear
    qemuDomainSecretInfoClear
    qemuDomainSecretInfoFree
    qemuDomainStorageSourcePrivateDispose
    virObjectUnref
    virStorageSourceClear
    virStorageSourceFree
    virDomainDiskDefFree
    virDomainDefFree
    virDomainObjRemoveTransientDef
    qemuProcessStop
    qemuDomainDestroyFlags
    virDomainDestroy

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Peter Krempa <pkrempa@redhat.com>
2018-06-06 08:20:27 -04:00
..
EVENTHANDLERS.txt
libvirtd_qemu.aug qemu: conf: Add qemu.conf knobs for setting up TLS for NBD 2018-06-05 08:14:00 +02:00
Makefile.inc.am
MIGRATION.txt
qemu_agent.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_agent.h
qemu_alias.c qemu: alias: Rename qemuAliasFromDisk to qemuAliasDiskDriveFromDisk 2018-06-05 08:14:00 +02:00
qemu_alias.h qemu: alias: Rename qemuAliasFromDisk to qemuAliasDiskDriveFromDisk 2018-06-05 08:14:00 +02:00
qemu_block.c qemu: hotplug: Extract hotplug of TLS into qemuBlockStorageSourceAttachApply 2018-06-05 08:14:01 +02:00
qemu_block.h qemu: hotplug: Extract hotplug of TLS into qemuBlockStorageSourceAttachApply 2018-06-05 08:14:01 +02:00
qemu_blockjob.c
qemu_blockjob.h
qemu_capabilities.c virQEMUCapsFreeHostCPUModel: Don't always free host cpuData 2018-06-06 13:27:18 +02:00
qemu_capabilities.h qemu: probe for -chardev 'fd' parameter for FD passing 2018-06-05 17:16:47 +01:00
qemu_capspriv.h virQEMUCapsFreeHostCPUModel: Don't always free host cpuData 2018-06-06 13:27:18 +02:00
qemu_cgroup.c
qemu_cgroup.h
qemu_command.c qemuBuildNumaArgStr: Simplify @nodeBackends 2018-06-06 13:54:39 +02:00
qemu_command.h qemu: support passing pre-opened UNIX socket listen FD 2018-06-05 17:30:28 +01:00
qemu_conf.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_conf.h qemu: conf: Add qemu.conf knobs for setting up TLS for NBD 2018-06-05 08:14:00 +02:00
qemu_domain_address.c conf: introduce <vsock> element 2018-05-29 15:42:03 +02:00
qemu_domain_address.h
qemu_domain.c qemu: Fix double free in qemuDomainSecretAESClear 2018-06-06 08:20:27 -04:00
qemu_domain.h qemu: domain: Split validation and setup of the virStorageSource 2018-06-05 08:13:58 +02:00
qemu_driver.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_driver.h
qemu_hostdev.c qemu: hostdev: Move parts of qemuHostdevHostSupportsPassthroughVFIO() into separate function 2018-06-05 08:33:13 +02:00
qemu_hostdev.h
qemu_hotplug.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_hotplug.h qemu: hotplug: Refactor 'secret' props formatting to qemuMonitorCreateObjectProps 2018-06-05 08:13:59 +02:00
qemu_hotplugpriv.h
qemu_interface.c
qemu_interface.h
qemu_migration_cookie.c src: Drop most of #ifdef WITH_GNUTLS 2018-06-05 14:32:36 +02:00
qemu_migration_cookie.h
qemu_migration_params.c qemu: Fix domain resume after failed migration 2018-06-05 09:39:24 +02:00
qemu_migration_params.h qemu: Fix domain resume after failed migration 2018-06-05 09:39:24 +02:00
qemu_migration_paramspriv.h
qemu_migration.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_migration.h
qemu_monitor_json.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_monitor_json.h qemu: Remove code for setting up disk passphrases 2018-06-05 08:14:00 +02:00
qemu_monitor_text.c qemu: monitor: Remove dead code from text monitor 2018-05-23 15:44:13 +02:00
qemu_monitor_text.h qemu: monitor: Remove dead code from text monitor 2018-05-23 15:44:13 +02:00
qemu_monitor.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_monitor.h qemu: don't retry connect() if doing FD passing 2018-06-05 17:30:57 +01:00
qemu_parse_command.c
qemu_parse_command.h
qemu_process.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_process.h qemu: implement vsock hotplug 2018-06-05 07:51:13 +02:00
qemu_processpriv.h
qemu_qapi.c
qemu_qapi.h
qemu_security.c
qemu_security.h
qemu.conf qemu: conf: Add qemu.conf knobs for setting up TLS for NBD 2018-06-05 08:14:00 +02:00
test_libvirtd_qemu.aug.in qemu: conf: Add qemu.conf knobs for setting up TLS for NBD 2018-06-05 08:14:00 +02:00
THREADS.txt