fix: add missing closedir in _get_max_cpuid_from_sysfs()
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 29 Jul 2022 15:12:57 +0000 (11:12 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 29 Jul 2022 15:17:27 +0000 (11:17 -0400)
As reported by Coverity:

*** CID 1490849:    (RESOURCE_LEAK)
/src/common/smp.c: 84 in _get_max_cpuid_from_sysfs()
78       * CPU num of 0.
79       */
80      if (max_cpuid < 0 || max_cpuid > INT_MAX)
81      max_cpuid = -1;
82
83     end:
>>>     CID 1490849:    (RESOURCE_LEAK)
>>>     Variable "cpudir" going out of scope leaks the storage it points to.
84      return max_cpuid;
85     }
86
87     /*
88      * As a fallback to parsing the CPU mask in "/sys/devices/system/cpu/possible",
89      * iterate on all the folders in "/sys/devices/system/cpu" that start with

Change-Id: I2048e2473d66aaa2a275fe2923da84a7e105f235
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
src/common/smp.c

index 8c742028039a10395b099202a741f490bc72fe2d..88d66a40a3c0f049e34c46a290af11b4b5fea454 100644 (file)
@@ -73,6 +73,9 @@ int _get_max_cpuid_from_sysfs(const char *path)
                }
        }
 
+       if (closedir(cpudir))
+               PERROR("closedir");
+
        /*
         * If the max CPU id is out of bound, set it to -1 so it results in a
         * CPU num of 0.
This page took 0.025719 seconds and 4 git commands to generate.