On 01/26/2018 07:17 AM, Richard W.M. Jones wrote:
> When compiling on armv7 it becomes clear from the compiler warnings
> that the current code is wrong.
> 
> The bitmap has to be allocated in virtual memory, so use size_t to
> describe the length of the bitmap.  When changing the length of the
> bitmap, compute the new size as an unsigned 64 bit int, and then check
> whether or not it is too large to fit into size_t before casting it.

Indeed, size_t is a sane limit (the only way to get a larger map would
be using an mmap'd file on disk, so that we can use 64-bit off_t instead
of 32-bit size_t).  We could also play games with having the granularity
get larger (doubling the size each bit represents lets you cache a
larger disk image).  But erroring out for now, and leaving such
enhancements for a future contributor, is fine by me.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Libguestfs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libguestfs

Reply via email to