On Fri, Aug 24, 2012 at 02:07:15AM -0400, Laine Stump wrote: > I noticed this while auditing all calls to virCommandRun that request > an exit status from virCommandRun. Two functions in the openvz driver > > openvzDomainGetBarrierLimit > openvzDomainSetBarrierLimit > > request an exit status from virCommandRun (thus assuring that > virCommandRun won't log any errors just due to a non-0 exit status), > but then fail to examine that exit status. This could result in the > functions believing that the call to "vzlist" was successful, even > though it may have encountered an error. > --- > src/openvz/openvz_driver.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c > index 8257ed5..a1d3b42 100644 > --- a/src/openvz/openvz_driver.c > +++ b/src/openvz/openvz_driver.c > @@ -1707,7 +1707,7 @@ openvzDomainGetBarrierLimit(virDomainPtr domain, > virCommandSetOutputBuffer(cmd, &output); > virCommandAddArgFormat(cmd, "-o%s.b,%s.l", param, param); > virCommandAddArg(cmd, domain->name); > - if (virCommandRun(cmd, &status)) { > + if (virCommandRun(cmd, &status) < 0 || status != 0) { > virReportError(VIR_ERR_OPERATION_FAILED, > _("Failed to get %s for %s: %d"), param, domain->name, > status); > @@ -1758,7 +1758,7 @@ openvzDomainSetBarrierLimit(virDomainPtr domain, > virCommandAddArgFormat(cmd, "--%s", param); > virCommandAddArgFormat(cmd, "%llu:%llu", barrier, limit); > virCommandAddArg(cmd, "--save"); > - if (virCommandRun(cmd, &status)) { > + if (virCommandRun(cmd, &status) < 0 || status != 0) { > virReportError(VIR_ERR_OPERATION_FAILED, > _("Failed to set %s for %s: %d"), param, domain->name, > status); ACK, thanks for checking :-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list