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

Re: [Xen-devel] [PATCH] xl: convert vcpuid to signed in main_vcpupin()



On 03/09/14 17:09, Ian Campbell wrote:
> On Wed, 2014-09-03 at 17:20 +0200, Dario Faggioli wrote:
>> On mer, 2014-09-03 at 14:52 +0100, Ian Campbell wrote:
>>> On Wed, 2014-08-20 at 17:36 +0200, Dario Faggioli wrote:
>>>> No functional changes, it just looks more correct, considering
>>>> that at some point in the function we assign -1 to it (and
>>>> at some other later point we check for it to be -1),
>>> I think that's more than just "looks more correct", it's just wrong to
>>> compare an unsigned to -1, or to assign it.
>>>
>>> And there may well be a functional change since gcc is no longer allowed
>>> to assume that the number is +ve and therefore cannot discard some of
>>> these checks any more. We are probably just lucky that gcc isn't doing
>>> so already (and unlucky that it isn't generating a warning...)
>>>
>> Right, and thanks for all the details. :-)
>>
>> Should I change the changelog, if I repost?
> Yes, please.
>
>>>> Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
>>>> ---
>>>>  tools/libxl/xl_cmdimpl.c |   14 +++++++-------
>>>>  1 file changed, 7 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
>>>> index f1c136a..a29a579 100644
>>>> --- a/tools/libxl/xl_cmdimpl.c
>>>> +++ b/tools/libxl/xl_cmdimpl.c
>>>> @@ -4601,8 +4601,9 @@ int main_vcpupin(int argc, char **argv)
>>>>      libxl_vcpuinfo *vcpuinfo;
>>>>      libxl_bitmap cpumap_hard, cpumap_soft;;
>>>>      libxl_bitmap *soft = &cpumap_soft, *hard = &cpumap_hard;
>>>> -    uint32_t vcpuid, domid;
>>>>      const char *vcpu, *hard_str, *soft_str;
>>>> +    uint32_t domid;
>>>> +    long vcpuid;
>>> I think an int would be sufficiently large for this.
>>>
>> The only reason why I used a long is that the function used to do the
>> actual conversion is strtol(), which returns a long.
> Can't it use atoi?

No code written this decade should be using atoi() for input
sanitisation, given strto*() and friends in C99.

As a prefect example of why, try running `xenwatchdogd --help`

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.