diff options
| -rw-r--r-- | libs/dumputils/dump_utils.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/dumputils/dump_utils.cpp b/libs/dumputils/dump_utils.cpp index 26c2a0d802..a00459d352 100644 --- a/libs/dumputils/dump_utils.cpp +++ b/libs/dumputils/dump_utils.cpp @@ -110,13 +110,15 @@ std::set<int> get_interesting_hal_pids() { } bool IsZygote(int pid) { - static const std::string kZygotePrefix = "zygote"; - std::string cmdline; if (!android::base::ReadFileToString(android::base::StringPrintf("/proc/%d/cmdline", pid), &cmdline)) { return true; } - return (cmdline.find(kZygotePrefix) == 0); + // cmdline has embedded nulls; only consider argv[0]. + cmdline = std::string(cmdline.c_str()); + + return cmdline == "zygote" || cmdline == "zygote64" || cmdline == "usap32" || + cmdline == "usap64"; } |