summaryrefslogtreecommitdiffstats
path: root/netbsd
diff options
context:
space:
mode:
authornia <nia@NetBSD.org>2021-07-14 21:35:04 +0200
committerBenBE <BenBE@geshi.org>2021-07-21 21:06:58 +0200
commita4b650fdec2cd0b1e0d24ce92d446a0f5c9d5eb3 (patch)
tree802804f9797ebdbb6eeee76fe9b3cb014e6345ba /netbsd
parent72cea2881c68c954f61dae4cd2a1935c4268434d (diff)
netbsd: re-initialize freqSize before sysctlbyname()
Diffstat (limited to 'netbsd')
-rw-r--r--netbsd/NetBSDProcessList.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/netbsd/NetBSDProcessList.c b/netbsd/NetBSDProcessList.c
index f215e622..51bc879f 100644
--- a/netbsd/NetBSDProcessList.c
+++ b/netbsd/NetBSDProcessList.c
@@ -377,7 +377,7 @@ static void NetBSDProcessList_scanCPUFrequency(NetBSDProcessList* this) {
bool match = false;
char name[64];
int freq = 0;
- size_t freqSize = sizeof(freq);
+ size_t freqSize;
for (unsigned int i = 0; i <= cpus; i++) {
this->cpus[i].frequency = NAN;
@@ -386,6 +386,7 @@ static void NetBSDProcessList_scanCPUFrequency(NetBSDProcessList* this) {
/* newer hardware supports per-core frequency, for e.g. ARM big.LITTLE */
for (unsigned int i = 0; i <= cpus; i++) {
snprintf(name, sizeof(name), "machdep.cpufreq.cpu%u.current", i);
+ freqSize = sizeof(freq);
if (sysctlbyname(name, &freq, &freqSize, NULL, 0) != -1) {
this->cpus[i].frequency = freq;
match = true;
@@ -401,6 +402,7 @@ static void NetBSDProcessList_scanCPUFrequency(NetBSDProcessList* this) {
* we find a match...
*/
for (const char** s = freqSysctls; *s != NULL; ++s) {
+ freqSize = sizeof(freq);
if (sysctlbyname(*s, &freq, &freqSize, NULL, 0) != -1) {
match = true;
break;

© 2014-2024 Faster IT GmbH | imprint | privacy policy