[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] openvz: check the exitstatus of vzlist



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 veillard com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]