diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-11-04 23:22:40 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-11-04 23:22:40 +0100 |
commit | dcb163aa8e7808b59aef3d3319c707e7d9ac4ce4 (patch) | |
tree | e1beb028bc752ed67f3c4ca752246a646b6895c3 | |
parent | 3bbfb58bec18990a2ee93f31ea1ee2fd19c4d9b2 (diff) | |
download | busybox-dcb163aa8e7808b59aef3d3319c707e7d9ac4ce4.tar.gz |
powertop: replace erroneous \n with \0; make numberic conversion more robust
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | procps/powertop.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/procps/powertop.c b/procps/powertop.c index 4c3c3565e..87efbe892 100644 --- a/procps/powertop.c +++ b/procps/powertop.c @@ -323,18 +323,16 @@ static void process_irq_counts(void) */ *p = '\0'; /* Deal with non-maskable interrupts -- make up fake numbers */ - nr = index_in_strings("NMI\0RES\nCAL\0TLB\0TRM\0THR\0SPU\0", buf); - if (nr != -1) { + nr = index_in_strings("NMI\0RES\0CAL\0TLB\0TRM\0THR\0SPU\0", buf); + if (nr >= 0) { nr += 20000; } else { /* bb_strtou doesn't eat leading spaces, using strtoul */ + errno = 0; nr = strtoul(buf, NULL, 10); + if (errno) + continue; } - *p = ':'; - - if (nr == -1) - continue; - p++; /* 0: 143646045 153901007 IO-APIC-edge timer * ^ |