[libvirt] [PATCH] conf: handle 'vda[-1]' uniformly

Eric Blake eblake at redhat.com
Thu May 1 02:32:54 UTC 2014


On 04/30/2014 01:01 AM, Peter Krempa wrote:
> On 04/30/14 06:22, Eric Blake wrote:
>> Commit f22b7899 stumbled across a difference between 32-bit and
>> 64-bit platforms; on 64-bit, parsing "-1" as a long produces
>> 0xffffffffffffffff, which does not fit in unsigned int; but on
>> 32-bit, it parses as 0xffffffff, which DOES fit.  Another patch
>> will tweak virStrToLong_ui to behave the same across platforms,
>> but regardless of which of the two choices it makes, the chain
>> lookup code wants to reject negative numbers rather than treating
>> it as large integers.
>>

> I'd rather see a wrapper that rejects negative numbers when parsing into
> a unsigned type rather than having it silently convert the number to a
> negative one.
> 
> I know that there are places where this is desired, but they should be
> fixed to explicitly use a differnent func.
> 
>> +        virStrToLong_ui(strings[1], &suffix, 10, &idx) < 0 ||
>>          STRNEQ(suffix, "]"))
>>          goto cleanup;
>>
> 
> I'm inclined to NACK this change.

Fair enough, v2 posted.
https://www.redhat.com/archives/libvir-list/2014-May/msg00000.html

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

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


More information about the libvir-list mailing list