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

Re: [libvirt] [PATCH] virsh: check if specified debug level is in range



On 07/26/2012 07:35 AM, Ján Tomko wrote:
> ---
>  tools/virsh.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/virsh.c b/tools/virsh.c
> index 5658796..34ae171 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -3097,6 +3097,10 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
>                  vshError(ctl, "%s", _("option -d takes a numeric argument"));
>                  exit(EXIT_FAILURE);
>              }
> +            if (ctl->debug < VSH_ERR_DEBUG || ctl->debug > VSH_ERR_ERROR) {
> +                vshError(ctl, _("ignoring debug level %d out of range [0-4]"),
> +                         ctl->debug);
> +            }

That warns, but still uses the fishy ctl->debug value for the rest of
the life of the program.  Would it be better to first parse the option
into a temporary variable, then range check, and only after the range
check then assign it to ctl->debug?

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


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