diff --git a/src/util/virbitmap.c b/src/util/virbitmap.c index 05c50e4e8e6f97063b36eb0b239448c9629830a9..d5b0035f504173f963aa1b553e2bee0f44cfe12b 100644 --- a/src/util/virbitmap.c +++ b/src/util/virbitmap.c @@ -504,6 +504,12 @@ bool virBitmapEqual(virBitmapPtr b1, virBitmapPtr b2) virBitmapPtr tmp; size_t i; + if (!b1 && !b2) + return true; + + if (!b1 || !b2) + return false; + if (b1->max_bit > b2->max_bit) { tmp = b1; b1 = b2; diff --git a/src/util/virbitmap.h b/src/util/virbitmap.h index 565264cc4c4283cde7e2904066e33b42d6961976..a347f0afdc8d432adc8bcbe48a68a15e77724e68 100644 --- a/src/util/virbitmap.h +++ b/src/util/virbitmap.h @@ -84,8 +84,7 @@ virBitmapPtr virBitmapNewData(void *data, int len) ATTRIBUTE_NONNULL(1); int virBitmapToData(virBitmapPtr bitmap, unsigned char **data, int *dataLen) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); -bool virBitmapEqual(virBitmapPtr b1, virBitmapPtr b2) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); +bool virBitmapEqual(virBitmapPtr b1, virBitmapPtr b2); size_t virBitmapSize(virBitmapPtr bitmap) ATTRIBUTE_NONNULL(1);