summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Denemark <jdenemar@redhat.com>2013-12-20 15:41:04 +0100
committerEric Blake <eblake@redhat.com>2014-01-15 11:01:57 -0700
commitc51986ba820dde30e48b4f1694862c3cf4d8b7ec (patch)
tree367412989ca5092f5f722b8ea7a71c14e676d1a2
parenta5987e23d5ff7a79a5c382b964ce3132c593e36d (diff)
downloadlibvirt-c51986ba820dde30e48b4f1694862c3cf4d8b7ec.tar.gz
qemu: Fix job usage in virDomainGetBlockIoTune
CVE-2013-6458 Every API that is going to begin a job should do that before fetching data from vm->def. (cherry picked from commit 3b56425938e2f97208d5918263efa0d6439e4ecd)
-rw-r--r--src/qemu/qemu_driver.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index a603d5fbf7..d4c90efd39 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -14052,12 +14052,6 @@ qemuDomainGetBlockIoTune(virDomainPtr dom,
goto cleanup;
}
- device = qemuDiskPathToAlias(vm, disk, NULL);
-
- if (!device) {
- goto cleanup;
- }
-
if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0)
goto cleanup;
@@ -14065,6 +14059,11 @@ qemuDomainGetBlockIoTune(virDomainPtr dom,
&persistentDef) < 0)
goto endjob;
+ device = qemuDiskPathToAlias(vm, disk, NULL);
+ if (!device) {
+ goto endjob;
+ }
+
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
priv = vm->privateData;
qemuDomainObjEnterMonitor(driver, vm);