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 17:58:04 +0000 (10:58 -0700)
commite966f1155ccb1c4e3ddc41a02b1107af2d98f98d
tree2da3367fedb2bde99078792e8eeb766a22e046f0
parentd003b8f294801adfc655096cfc80480e7f2e17ae
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
src/qemu/qemu_driver.c