From: Ján Tomko Date: Mon, 24 Jun 2013 12:18:14 +0000 (+0200) Subject: qemu: check if block I/O limits fit into long long X-Git-Tag: v1.1.0-rc1~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3c87884927e6b745d0a5680e6d94a40c4f484f7;p=thirdparty%2Flibvirt.git qemu: check if block I/O limits fit into long long We can only pass values up to LLONG_MAX through JSON and QEMU checks if the int64_t number is not negative at startup since 1.5.0. https://bugzilla.redhat.com/show_bug.cgi?id=974010 --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 3d9457f00f..b4b66aa808 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14099,6 +14099,13 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, for (i = 0; i < nparams; i++) { virTypedParameterPtr param = ¶ms[i]; + if (param->value.ul > LLONG_MAX) { + virReportError(VIR_ERR_OVERFLOW, + _("block I/O throttle limit value must" + " be less than %llu"), LLONG_MAX); + goto endjob; + } + if (STREQ(param->field, VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC)) { info.total_bytes_sec = param->value.ul; set_bytes = true;