summaryrefslogtreecommitdiff
path: root/cmds/incident_helper/src/parsers/CpuInfoParser.cpp
diff options
context:
space:
mode:
authorYao Chen <yaochen@google.com>2019-03-01 10:04:47 -0800
committerYao Chen <yaochen@google.com>2019-03-04 14:28:30 -0800
commitb5908aedc0fdcf47a2f73f7e04eccd2e99a66357 (patch)
tree72f5d9a3f6895415c8af1937253ee103d5ef053e /cmds/incident_helper/src/parsers/CpuInfoParser.cpp
parent65c6cd861860a719f1225730d0e3d57a531e6f1c (diff)
Fix incident_helper crash.
The header of top cmd changes from Tasks to Threads, causing the parser to run into undefined behavior. Bug: 125377622 Test: adb shell dumpsys incident && incident_helper_test Change-Id: I5ae88767dce22f0ee7b49611b2f19889a07e66ac
Diffstat (limited to 'cmds/incident_helper/src/parsers/CpuInfoParser.cpp')
-rw-r--r--cmds/incident_helper/src/parsers/CpuInfoParser.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp
index 21ced9cb485c..5d525e6c7f3e 100644
--- a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp
+++ b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp
@@ -65,8 +65,9 @@ CpuInfoParser::Parse(const int in, const int out) const
if (line.empty()) continue;
nline++;
-
- if (stripPrefix(&line, "Tasks:")) {
+ // The format changes from time to time in toybox/toys/posix/ps.c
+ // With -H, it prints Threads instead of Tasks (FLAG(H)?"Thread":"Task")
+ if (stripPrefix(&line, "Threads:")) {
writeSuffixLine(&proto, CpuInfoProto::TASK_STATS, line, COMMA_DELIMITER,
CpuInfoProto::TaskStats::_FIELD_COUNT,
CpuInfoProto::TaskStats::_FIELD_NAMES,