mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-15 09:57:25 +03:00
util: virbitmap: Don't forbid 0 size bitmap
We now have APIs which automatically expand the bitmap and also API which allocates a 0 size bitmap. Remove the condition from virBitmapNew. Effectively reverts ce49cfb48ad Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
5642508732
commit
ee18110f93
@ -55,8 +55,8 @@ struct _virBitmap {
|
|||||||
*
|
*
|
||||||
* Allocate a bitmap capable of containing @size bits.
|
* Allocate a bitmap capable of containing @size bits.
|
||||||
*
|
*
|
||||||
* Returns a pointer to the allocated bitmap or NULL if either memory cannot be
|
* Returns a pointer to the allocated bitmap or NULL if memory cannot be
|
||||||
* allocated or size is 0. Does not report libvirt errors.
|
* allocated. Does not report libvirt errors.
|
||||||
*/
|
*/
|
||||||
virBitmapPtr
|
virBitmapPtr
|
||||||
virBitmapNewQuiet(size_t size)
|
virBitmapNewQuiet(size_t size)
|
||||||
@ -64,12 +64,16 @@ virBitmapNewQuiet(size_t size)
|
|||||||
virBitmapPtr bitmap;
|
virBitmapPtr bitmap;
|
||||||
size_t sz;
|
size_t sz;
|
||||||
|
|
||||||
if (SIZE_MAX - VIR_BITMAP_BITS_PER_UNIT < size || size == 0)
|
if (SIZE_MAX - VIR_BITMAP_BITS_PER_UNIT < size)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
sz = VIR_DIV_UP(size, VIR_BITMAP_BITS_PER_UNIT);
|
sz = VIR_DIV_UP(size, VIR_BITMAP_BITS_PER_UNIT);
|
||||||
|
|
||||||
bitmap = g_new0(virBitmap, 1);
|
bitmap = g_new0(virBitmap, 1);
|
||||||
|
|
||||||
|
if (size == 0)
|
||||||
|
return bitmap;
|
||||||
|
|
||||||
bitmap->map = g_new0(unsigned long, sz);
|
bitmap->map = g_new0(unsigned long, sz);
|
||||||
bitmap->nbits = size;
|
bitmap->nbits = size;
|
||||||
bitmap->map_len = sz;
|
bitmap->map_len = sz;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user