[libvirt] [PATCH] Check that virsh -d argument is numeric

Eric Blake eblake at redhat.com
Mon Aug 2 19:57:36 UTC 2010


On 08/02/2010 01:49 PM, Eric Blake wrote:
> On 08/02/2010 09:30 AM, Daniel Veillard wrote:
>>   Having been bitten one more time by the use of -d to pass the
>> hypervisor URI instead of -c (confusion coming from CVS using
>> -d to specify the root), I suggest to drop atoi and use the
>> function with checking and error out with proper explanation instead
>> of silently failing !
> 
>> +                vshError(ctl, _("option -d takes a numeric argument"), arg);
> 
> Serves me right for not noticing this; gcc complained that the printf
> string doesn't match the number of arguments.
> 
> I'm pushing this trivial followup:
> 
> diff --git i/tools/virsh.c w/tools/virsh.c
> index 926652a..cedfb5a 100644
> --- i/tools/virsh.c
> +++ w/tools/virsh.c
> @@ -11022,7 +11022,7 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
>          switch (arg) {
>          case 'd':
>              if (virStrToLong_i(optarg, NULL, 10, &ctl->debug) < 0) {
> -                vshError(ctl, _("option -d takes a numeric argument"),
> arg);
> +                vshError(ctl, _("option -d takes a numeric argument:
> %s"), arg);

Or, better yet:

+                vshError(ctl, _("option -d takes a numeric argument));

since arg is not a string to be printed with %s.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20100802/98272420/attachment-0001.sig>


More information about the libvir-list mailing list