qemu: Avoid using stale data in virDomainGetBlockInfo
authorJiri Denemark <jdenemar@redhat.com>
Fri, 20 Dec 2013 13:50:02 +0000 (14:50 +0100)
committerEric Blake <eblake@redhat.com>
Wed, 15 Jan 2014 19:22:51 +0000 (12:22 -0700)
commit7a9bcfa1ccc190e33e6fa931df8143cc9623cf24
tree0086e20dd9cf2e602c33dd7e81b82a328af3b2bc
parent5f5e9eb23dead857b1858da8b97a6cb0442fabed
qemu: Avoid using stale data in virDomainGetBlockInfo

CVE-2013-6458

Generally, every API that is going to begin a job should do that before
fetching data from vm->def. However, qemuDomainGetBlockInfo does not
know whether it will have to start a job or not before checking vm->def.
To avoid using disk alias that might have been freed while we were
waiting for a job, we use its copy. In case the disk was removed in the
meantime, we will fail with "cannot find statistics for device '...'"
error message.

(cherry picked from commit b799259583bd65c0b2f5042e6c3ff19637ade881)

Conflicts:
src/qemu/qemu_driver.c - VIR_STRDUP not backported, context
src/qemu/qemu_driver.c