]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: Make virProcessGetAffinity more readable and fix coverity warning
authorPeter Krempa <pkrempa@redhat.com>
Thu, 4 Jun 2015 12:13:15 +0000 (14:13 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 11 Jun 2015 11:59:28 +0000 (13:59 +0200)
Store the cpu count in an intermediate variable and reuse it rather than
caluclating the index.

Additionally add a coverity silencing comment.

src/util/virprocess.c

index 59598edf5a3171464bcd4421ab7f76576774540f..b47df0f349dbb2c9ffeaa0223e2567084a14b0a4 100644 (file)
@@ -474,12 +474,14 @@ virProcessGetAffinity(pid_t pid)
     size_t i;
     cpu_set_t *mask;
     size_t masklen;
+    size_t ncpus;
     virBitmapPtr ret = NULL;
 
 # ifdef CPU_ALLOC
     /* 262144 cpus ought to be enough for anyone */
-    masklen = CPU_ALLOC_SIZE(1024 << 8);
-    mask = CPU_ALLOC(1024 << 8);
+    ncpus = 1024 << 8;
+    masklen = CPU_ALLOC_SIZE(ncpus);
+    mask = CPU_ALLOC(ncpus);
 
     if (!mask) {
         virReportOOMError();
@@ -488,6 +490,7 @@ virProcessGetAffinity(pid_t pid)
 
     CPU_ZERO_S(masklen, mask);
 # else
+    ncpus = 1024;
     if (VIR_ALLOC(mask) < 0)
         return NULL;
 
@@ -501,11 +504,12 @@ virProcessGetAffinity(pid_t pid)
         goto cleanup;
     }
 
-    if (!(ret = virBitmapNew(masklen * 8)))
+    if (!(ret = virBitmapNew(ncpus)))
           goto cleanup;
 
-    for (i = 0; i < masklen * 8; i++) {
+    for (i = 0; i < ncpus; i++) {
 # ifdef CPU_ALLOC
+         /* coverity[overrun-local] */
         if (CPU_ISSET_S(i, masklen, mask))
             ignore_value(virBitmapSetBit(ret, i));
 # else