From: Julio Faracco Date: Mon, 11 Jun 2018 20:35:33 +0000 (-0300) Subject: qemu: fix uninitialised variable in virQEMUDriverConfigLoadFile X-Git-Tag: v4.5.0-rc1~146 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf72ab16e2ddedf3848d44826ea98d6ba25e9183;p=thirdparty%2Flibvirt.git qemu: fix uninitialised variable in virQEMUDriverConfigLoadFile 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 --- 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;