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 qemu/doc: Fix function name for handling events 2017-06-13 09:43:42 +02:00
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 qemu: Export qemuMigrationParams{To,From}JSON for tests 2018-04-17 10:46:23 +02:00
MIGRATION.txt doc: fix writing of QEMU 2017-03-08 17:33:07 +01:00
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: Remove parameter 'driver' from qemuBlockJobUpdate 2018-05-10 16:43:24 +02:00
qemu_blockjob.h qemu: Remove parameter 'driver' from qemuBlockJobUpdate 2018-05-10 16:43:24 +02:00
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: Allow /dev/mapper/control for PR 2018-05-11 09:02:56 +02:00
qemu_cgroup.h qemu: Introduce functions for input device cgroup manipulation 2017-11-24 17:38:51 +01:00
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: Update qemuDomainFindSCSIControllerModel return 2018-01-31 11:32:04 -05:00
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 hostdev: Maintain a driver list of active mediated devices 2017-03-27 15:39:35 +02:00
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 nwfilter: pass vm name in when instantiating filters 2018-05-03 17:00:57 +01:00
qemu_interface.h qemu: deprecate QEMU_CAPS_VHOST_NET 2018-04-16 15:00:26 +02:00
qemu_migration_cookie.c src: Drop most of #ifdef WITH_GNUTLS 2018-06-05 14:32:36 +02:00
qemu_migration_cookie.h qemu: Add support for sending capabilities in migration cookie 2018-04-17 10:46:23 +02:00
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: Move migration capabilities JSON formatting 2018-04-17 10:46:23 +02:00
qemu_migration.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
qemu_migration.h qemu: Replace qemuMigrationAnyCompressionDump 2018-04-17 10:46:23 +02:00
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/: Remove spaces after casts 2018-05-03 22:31:37 +02:00
qemu_parse_command.h qemu: Move qemuFreeKeywords into qemu_parse_command.c 2017-10-17 18:52:47 -04:00
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: Return correct entry in virQEMUQAPISchemaTraverse 2018-03-23 14:52:07 +01:00
qemu_qapi.h qemu: monitor: Move processing of QMP schema to the new file 2018-03-23 14:52:07 +01:00
qemu_security.c qemu: fix security labeling for attach/detach of char devices 2017-12-05 13:54:48 +01:00
qemu_security.h qemu: fix security labeling for attach/detach of char devices 2017-12-05 13:54:48 +01:00
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 doc: fix writing of QEMU 2017-03-08 17:33:07 +01:00