I began noticing a race when reserving VNC ports as described here
https://www.redhat.com/archives/libvir-list/2010-November/msg00379.html
Turns out that we were not initializing the size field of bitmap
struct when allocating the bitmap. This subsequently caused
virBitmapSetBit() to fail since bitmap->size is 0, hence we never
actually reserved the port.
---
src/util/bitmap.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/util/bitmap.c b/src/util/bitmap.c
index 1b0c9da..9741668 100644
--- a/src/util/bitmap.c
+++ b/src/util/bitmap.c
@@ -73,6 +73,7 @@ virBitmapPtr virBitmapAlloc(size_t size)
return NULL;
}
+ bitmap->size = size;
return bitmap;
}
--
1.7.3.1