From bf72ab16e2ddedf3848d44826ea98d6ba25e9183 Mon Sep 17 00:00:00 2001 From: Julio Faracco Date: Mon, 11 Jun 2018 17:35:33 -0300 Subject: [PATCH] qemu: fix uninitialised variable in virQEMUDriverConfigLoadFile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since virConfGetValueBool() can return earlier, the parameter 'value' might be not initialised properly inside this method. Another proof: Valgrind is returning this error during the libvirtd daemon startup: ==16199== Conditional jump or move depends on uninitialised value(s) ==16199== at 0x27FFFEF4: virQEMUDriverConfigLoadFile (qemu_conf.c:809) ==16199== by 0x2807665C: qemuStateInitialize (qemu_driver.c:654) ==16199== by 0x5535428: virStateInitialize (libvirt.c:662) ==16199== by 0x12AED8: daemonRunStateInit (remote_daemon.c:802) ==16199== by 0x536DE18: virThreadHelper (virthread.c:206) ==16199== by 0x6CB36DA: start_thread (pthread_create.c:463) ==16199== by 0x6FEC88E: clone (clone.S:95) Signed-off-by: Julio Faracco Reviewed-by: Ján Tomko Signed-off-by: Ján Tomko --- src/qemu/qemu_conf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index f079ae3221..a4f545ef92 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -804,9 +804,9 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg, goto cleanup; if (virConfGetValueBool(conf, "clear_emulator_capabilities", &cfg->clearEmulatorCapabilities) < 0) goto cleanup; - if (virConfGetValueBool(conf, "allow_disk_format_probing", &tmp) < 0) + if ((rv = virConfGetValueBool(conf, "allow_disk_format_probing", &tmp)) < 0) goto cleanup; - if (tmp) { + if (rv == 1 && tmp) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("allow_disk_format_probing is no longer supported")); goto cleanup; -- GitLab