summaryrefslogtreecommitdiffstats
path: root/sys-utils
diff options
context:
space:
mode:
authorKarel Zak2018-03-19 12:53:22 +0100
committerKarel Zak2018-03-19 12:53:22 +0100
commitdcb22a598d454ed9156722d2b03330fbfee79fa4 (patch)
treef45a67805d9f8bcdf6c934edd0dbf4706500d0b9 /sys-utils
parentmount: (man) be explicit about bind operation (diff)
parentAvoid crash in min/max caculation when cpu#0 being offline (diff)
downloadkernel-qcow2-util-linux-dcb22a598d454ed9156722d2b03330fbfee79fa4.tar.gz
kernel-qcow2-util-linux-dcb22a598d454ed9156722d2b03330fbfee79fa4.tar.xz
kernel-qcow2-util-linux-dcb22a598d454ed9156722d2b03330fbfee79fa4.zip
Merge branch 'master' of https://github.com/dirkmueller/util-linux
* 'master' of https://github.com/dirkmueller/util-linux: Avoid crash in min/max caculation when cpu#0 being offline
Diffstat (limited to 'sys-utils')
-rw-r--r--sys-utils/lscpu.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index 6d1fde555..2132511a5 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -1108,10 +1108,10 @@ static char *
cpu_max_mhz(struct lscpu_desc *desc, char *buf, size_t bufsz)
{
int i;
- float cpu_freq = atof(desc->maxmhz[0]);
+ float cpu_freq = 0.0;
if (desc->present) {
- for (i = 1; i < desc->ncpuspos; i++) {
+ for (i = 0; i < desc->ncpuspos; i++) {
if (CPU_ISSET(real_cpu_num(desc, i), desc->present)
&& desc->maxmhz[i]) {
float freq = atof(desc->maxmhz[i]);
@@ -1129,16 +1129,16 @@ cpu_max_mhz(struct lscpu_desc *desc, char *buf, size_t bufsz)
static char *
cpu_min_mhz(struct lscpu_desc *desc, char *buf, size_t bufsz)
{
- int i;
- float cpu_freq = atof(desc->minmhz[0]);
+ int i;
+ float cpu_freq = -1.0;
if (desc->present) {
- for (i = 1; i < desc->ncpuspos; i++) {
+ for (i = 0; i < desc->ncpuspos; i++) {
if (CPU_ISSET(real_cpu_num(desc, i), desc->present)
&& desc->minmhz[i]) {
float freq = atof(desc->minmhz[i]);
- if (freq < cpu_freq)
+ if (cpu_freq < 0.0 || freq < cpu_freq)
cpu_freq = freq;
}
}