From 27720d4f5475c78b1b3a34f68be3db72b314b88b Mon Sep 17 00:00:00 2001 From: Drath Date: Thu, 19 Mar 2026 00:35:00 +0100 Subject: [PATCH] several sanity checks added --- src/cpu.cpp | 5 ++++- src/gpu.cpp | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/cpu.cpp b/src/cpu.cpp index 814e63f..4aa265e 100644 --- a/src/cpu.cpp +++ b/src/cpu.cpp @@ -49,7 +49,10 @@ void update(cpuSensors* c) { utils::fastReadNum<1000>("/sys/devices/system/cpu/cpu" + std::to_string(i) + "/cpufreq/cpuinfo_avg_freq", buf, t); c->avg_freq += t; } - c->avg_freq /= c->num_cores; + c->avg_freq /= (c->num_cores > 1) ? c->num_cores : 1; + + if (c->hwmon.empty()) + return; // commented out unused values so its faster if (c->module == zenpower) { diff --git a/src/gpu.cpp b/src/gpu.cpp index 8d65f84..80f4f03 100644 --- a/src/gpu.cpp +++ b/src/gpu.cpp @@ -102,12 +102,15 @@ void updateFromMetrics(gpuSensors* g) { /* reads values from system and updates the target gpu::sensors struct */ void update(gpuSensors* g) { - fillMissingMetrics(g); + const bool hwmon_valid = !g->hwmon.empty(); + if (hwmon_valid) + fillMissingMetrics(g); if (g->hasGpuMetrics) updateFromMetrics(g); else - updateFromFs(g); + if (hwmon_valid) + updateFromFs(g); if (g->fan_speed > 9999) g->fan_speed = 9999; // sanity check fan speed }