summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d58e2fd)
Currently, if allocation fails, inside bitmap_alloc0(), we'll continue
to use bitmap=NULL pointer and pass it to bitmap_zero() which will
SIGSEGV.
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Kirill Smelkov <kirr@nexedi.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
bitmap *bitmap;
bitmap = bitmap_alloc(nbits);
bitmap *bitmap;
bitmap = bitmap_alloc(nbits);
- bitmap_zero(bitmap, nbits);
+ if (bitmap)
+ bitmap_zero(bitmap, nbits);
bitmap *bitmap;
bitmap = bitmap_alloc(nbits);
bitmap *bitmap;
bitmap = bitmap_alloc(nbits);
- bitmap_fill(bitmap, nbits);
+ if (bitmap)
+ bitmap_fill(bitmap, nbits);
{
bitmap = realloc(bitmap, bitmap_sizeof(nbits));
{
bitmap = realloc(bitmap, bitmap_sizeof(nbits));
+ if ((nbits > obits) && bitmap)
bitmap_zero_range(bitmap, obits, nbits);
return bitmap;
bitmap_zero_range(bitmap, obits, nbits);
return bitmap;
{
bitmap = realloc(bitmap, bitmap_sizeof(nbits));
{
bitmap = realloc(bitmap, bitmap_sizeof(nbits));
+ if ((nbits > obits) && bitmap)
bitmap_fill_range(bitmap, obits, nbits);
return bitmap;
bitmap_fill_range(bitmap, obits, nbits);
return bitmap;