diff options
author | 2015-12-14 16:05:49 +0000 | |
---|---|---|
committer | 2015-12-15 12:00:22 +0000 | |
commit | 3d9312e64a825c06f5e2e8883320089f1fa158ef (patch) | |
tree | e6f62fbac1830bf1384782c2f9cc8768cd6c0170 | |
parent | e12c4414cbf679367d9187f16dddd6c6b138b6f5 (diff) |
Prevent ProcMemInfo from crashing when it gets weird input
--
MOS_MIGRATED_REVID=110155243
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/util/ProcMeminfoParser.java | 3 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/util/ProcMeminfoParserTest.java | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/util/ProcMeminfoParser.java b/src/main/java/com/google/devtools/build/lib/util/ProcMeminfoParser.java index e9ba03640b..dd72706909 100644 --- a/src/main/java/com/google/devtools/build/lib/util/ProcMeminfoParser.java +++ b/src/main/java/com/google/devtools/build/lib/util/ProcMeminfoParser.java @@ -48,6 +48,9 @@ public class ProcMeminfoParser { ImmutableMap.Builder<String, Long> builder = ImmutableMap.builder(); for (String line : lines) { int colon = line.indexOf(':'); + if (colon == -1) { + continue; + } String keyword = line.substring(0, colon); String valString = line.substring(colon + 1); try { diff --git a/src/test/java/com/google/devtools/build/lib/util/ProcMeminfoParserTest.java b/src/test/java/com/google/devtools/build/lib/util/ProcMeminfoParserTest.java index 50324a8467..352cb39aaa 100644 --- a/src/test/java/com/google/devtools/build/lib/util/ProcMeminfoParserTest.java +++ b/src/test/java/com/google/devtools/build/lib/util/ProcMeminfoParserTest.java @@ -66,7 +66,8 @@ public class ProcMeminfoParserTest { "HugePages_Rsvd: 0", "Hugepagesize: 2048 kB", "Bogus: not_a_number", - "Bogus2: 1000000000000000000000000000000000000000000000000 kB" + "Bogus2: 1000000000000000000000000000000000000000000000000 kB", + "Not even a valid line" ); String meminfoFile = scratch.file("test_meminfo", meminfoContent).getPathString(); |