On Wed, Apr 18, 2018 at 12:55:39PM +0200, Peter Krempa wrote:
There were two places where we'd check this independently. Move it to the disk definition validation callback. This also fixes possible use of NULL in a printf for network storage.Signed-off-by: Peter Krempa <[email protected]> --- src/qemu/qemu_command.c | 12 ------------ src/qemu/qemu_domain.c | 9 +++++++++ src/qemu/qemu_hotplug.c | 7 ------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a1a9e91e49..0f45a25038 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -9708,18 +9708,6 @@ qemuBuildCommandLineValidate(virQEMUDriverPtr driver, return -1; } - for (i = 0; i < def->ndisks; i++) { - virDomainDiskDefPtr disk = def->disks[i]; - - if (disk->src->driverName != NULL && - STRNEQ(disk->src->driverName, "qemu")) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unsupported driver name '%s' for disk '%s'"), - disk->src->driverName, disk->src->path); - return -1; - } - } - return 0; } diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 4c4a9a428d..a3431696af 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4165,6 +4165,7 @@ static int qemuDomainDeviceDefValidateDisk(const virDomainDiskDef *disk, virQEMUCapsPtr qemuCaps) { + const char *driverName;
Consider initializing the variable here
virStorageSourcePtr n;
if (disk->src->shared && !disk->src->readonly) {
@@ -4183,6 +4184,14 @@ qemuDomainDeviceDefValidateDisk(const virDomainDiskDef
*disk,
}
}
+ if ((driverName = virDomainDiskGetDriver(disk)) &&
+ STRNEQ(driverName, "qemu")) {
and/or using STRNEQ_NULLABLE here.
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unsupported driver name '%s' for disk '%s'"),
+ driverName, disk->dst);
+ return -1;
+ }
+
for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) {
if (qemuDomainValidateStorageSource(n, qemuCaps) < 0)
return -1;
Regardless Reviewed-by: Ján Tomko <[email protected]> Jano
signature.asc
Description: Digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
