On 09/05/14 00:26, John Ferlan wrote:
In qemuDomainSetBlkioParameters(), Coverity points out that the
calls
to qemuDomainParseBlkioDeviceStr() are slightly different and points
out there may be a cut-n-paste error.
In the first call (AFFECT_LIVE), the second parameter is "param->field";
however, for the second call (AFFECT_CONFIG), the second parameter is
"params->field". It seems the "param->field" is correct
especially since
each path as a setting of "param" to "¶ms[i]". Furthermore,
there
were a few more instances of using "params[i]" instead of
"param->"
which I cleaned up.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_driver.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 5121f85..f52f00d 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7825,7 +7825,7 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
virTypedParameterPtr param = ¶ms[i];
if (STREQ(param->field, VIR_DOMAIN_BLKIO_WEIGHT)) {
- if (virCgroupSetBlkioWeight(priv->cgroup, params[i].value.ui) <
0)
+ if (virCgroupSetBlkioWeight(priv->cgroup, param->value.ui) <
0)
ret = -1;
} else if (STREQ(param->field, VIR_DOMAIN_BLKIO_DEVICE_WEIGHT) ||
STREQ(param->field, VIR_DOMAIN_BLKIO_DEVICE_READ_IOPS) ||
@@ -7836,7 +7836,7 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
virBlkioDevicePtr devices = NULL;
size_t j;
- if (qemuDomainParseBlkioDeviceStr(params[i].value.s,
+ if (qemuDomainParseBlkioDeviceStr(param->value.s,
param->field,
&devices,
&ndevices) < 0) {
@@ -7919,7 +7919,7 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
virTypedParameterPtr param = ¶ms[i];
if (STREQ(param->field, VIR_DOMAIN_BLKIO_WEIGHT)) {
- persistentDef->blkio.weight = params[i].value.ui;
+ persistentDef->blkio.weight = param->value.ui;
} else if (STREQ(param->field, VIR_DOMAIN_BLKIO_DEVICE_WEIGHT) ||
STREQ(param->field, VIR_DOMAIN_BLKIO_DEVICE_READ_IOPS) ||
STREQ(param->field, VIR_DOMAIN_BLKIO_DEVICE_WRITE_IOPS) ||
@@ -7928,8 +7928,8 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
virBlkioDevicePtr devices = NULL;
size_t ndevices;
- if (qemuDomainParseBlkioDeviceStr(params[i].value.s,
- params->field,
+ if (qemuDomainParseBlkioDeviceStr(param->value.s,
+ param->field,
wow, this was the real bug here. The original code would use the "field"
value of the first element in the params array. Very easy to overlook.
&devices,
&ndevices) < 0) {
ret = -1;
ACK.
Peter