From: Peter Krempa Date: Tue, 15 Jul 2014 08:31:36 +0000 (+0200) Subject: qemu: blockcopy: Initialize correct source structure X-Git-Tag: v1.2.7-rc1~129 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=95d6aff7878309037f82acaae756108f29e42309;p=thirdparty%2Flibvirt.git qemu: blockcopy: Initialize correct source structure 4cc1f1a01fb338de939ba88eb933931687b22336 introduced a crash when doing a block copy as virStorageSourceInitChainElement was called on "disk->mirror" that is still NULL at that point instead of "mirror" which temporarily holds the mirror source struct until it's fully initialized. This resulted into a crash as a NULL was dereferenced. Reported by: Shanzi Yu --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8d40bc9d0e..c0ad446aad 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15309,7 +15309,7 @@ qemuDomainBlockCopy(virDomainObjPtr vm, if (VIR_STRDUP(mirror->path, dest) < 0) goto endjob; - if (virStorageSourceInitChainElement(disk->mirror, disk->src, false) < 0) + if (virStorageSourceInitChainElement(mirror, disk->src, false) < 0) goto endjob; if (qemuDomainPrepareDiskChainElement(driver, vm, mirror,