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.0.5.3~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a717d7ba0f93bfc9956fe66cc2cad9f2d0aaa995;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 (cherry picked from commit d3c87884927e6b745d0a5680e6d94a40c4f484f7) --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 53ad478c8a..3db3447482 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -13624,6 +13624,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;