On 03/02/2016 09:24 AM, Jeff Cody wrote: > The function qemu_strtoul() reads 'unsigned long' sized data, > which is larger than uint32_t on 64-bit machines. > > Even though the snap_id field in the header is 32-bits, we must > accomodate the full size in qemu_strtoul().
s/accomodate/accommodate/ Someday, it might be nice to write a qemu_strtoi() and qemu_strtoui() that provide a guaranteed 32-bit result, rather than a platform-dependent width (we already have qemu_strto[u]ll() for 64-bit results). It's a bit tricky, since C doesn't provide a native parsing to int, and the case for overflow detection is different on 32-bit machines than on 64-bit machines (libvirt took a couple of tries before getting something that worked correctly), but would probably be worth it in the long run. But that idea doesn't have to hold up this patch. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature