From 551503d79dd29e8c20dd2fa87272639f2a7032c4 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Mon, 10 Apr 2017 13:45:27 -0400 Subject: [PATCH] nodedev: Fix aclfilter check For both virNodeDeviceObjNumOfDevices and virNodeDeviceObjGetNames, the check should be if the aclfilter doesn't exist or if it does exist, then it must pass --- src/conf/virnodedeviceobj.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf/virnodedeviceobj.c b/src/conf/virnodedeviceobj.c index 75ba1a02da..4f47b4e41b 100644 --- a/src/conf/virnodedeviceobj.c +++ b/src/conf/virnodedeviceobj.c @@ -486,7 +486,7 @@ virNodeDeviceObjNumOfDevices(virNodeDeviceObjListPtr devs, for (i = 0; i < devs->count; i++) { virNodeDeviceObjPtr obj = devs->objs[i]; virNodeDeviceObjLock(obj); - if (aclfilter && aclfilter(conn, obj->def) && + if ((!aclfilter || aclfilter(conn, obj->def)) && (!cap || virNodeDeviceObjHasCap(obj, cap))) ++ndevs; virNodeDeviceObjUnlock(obj); @@ -510,7 +510,7 @@ virNodeDeviceObjGetNames(virNodeDeviceObjListPtr devs, for (i = 0; i < devs->count && nnames < maxnames; i++) { virNodeDeviceObjPtr obj = devs->objs[i]; virNodeDeviceObjLock(obj); - if (aclfilter && aclfilter(conn, obj->def) && + if ((!aclfilter || aclfilter(conn, obj->def)) && (!cap || virNodeDeviceObjHasCap(obj, cap))) { if (VIR_STRDUP(names[nnames], obj->def->name) < 0) { virNodeDeviceObjUnlock(obj);