On 04/14/2015 12:27 PM, John Ferlan wrote: > > > On 04/13/2015 08:01 AM, Erik Skultety wrote: >> This patch adds checks for empty bitmaps right after the calls of >> virBitmapParse. These only include spots where set API's are called and >> where domain's XML is parsed. >> Also, it partially reverts commit 983f5a which added a check for >> invalid nodeset "0,^0" into virBitmapParse function. This change broke >> the logic, as an empty bitmap should not cause an error. >> >> https://bugzilla.redhat.com/show_bug.cgi?id=1210545 >> --- >> src/conf/domain_conf.c | 35 +++++++++++++++++++++++++++++++---- >> src/conf/numa_conf.c | 23 +++++++++++++++++++---- >> src/qemu/qemu_driver.c | 5 +++-- >> src/util/virbitmap.c | 3 --- >> src/xenconfig/xen_sxpr.c | 7 +++++++ >> tests/virbitmaptest.c | 13 ++++++++++--- >> 6 files changed, 70 insertions(+), 16 deletions(-) >> > > ... > >> diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c >> index f247275..9a84e4c 100644 >> --- a/tests/virbitmaptest.c >> +++ b/tests/virbitmaptest.c >> @@ -524,16 +524,23 @@ static int >> test10(const void *opaque ATTRIBUTE_UNUSED) >> { >> int ret = -1; >> - virBitmapPtr b1 = NULL, b2 = NULL, b3 = NULL; >> + virBitmapPtr b1 = NULL, b2 = NULL, b3 = NULL, b4 = NULL; >> >> if (virBitmapParse("0-3,5-8,11-15", 0, &b1, 20) < 0 || >> virBitmapParse("4,9,10,16-19", 0, &b2, 20) < 0 || >> - virBitmapParse("15", 0, &b3, 20) < 0) >> + virBitmapParse("15", 0, &b3, 20) < 0 || >> + virBitmapParse("0,^0", 0, &b4, 20) < 0) >> + goto cleanup; >> + >> + if (!virBitmapIsAllClear(b4)) >> goto cleanup; >> >> if (virBitmapOverlaps(b1, b2) || >> + virBitmapOverlaps(b1, b4) || >> virBitmapOverlaps(b2, b3) || >> - !virBitmapOverlaps(b1, b3)) >> + virBitmapOverlaps(b2, b4) || >> + !virBitmapOverlaps(b1, b3) || >> + virBitmapOverlaps(b3, b4)) >> goto cleanup; >> >> ret = 0; >> > > My Coverity checker was unhappy today because 'b4' is never > virBitmapFree()'d > > > John > Oops, thanks for pushing the fix. Erik -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list