Handle malformed input when reading resource usage.

Must happen when `/proc/pid/stat` is not available for some reason.

PiperOrigin-RevId: 332242647
diff --git a/src/main/java/com/google/devtools/build/lib/util/ResourceUsage.java b/src/main/java/com/google/devtools/build/lib/util/ResourceUsage.java
index 88fbefc..a2076ee 100644
--- a/src/main/java/com/google/devtools/build/lib/util/ResourceUsage.java
+++ b/src/main/java/com/google/devtools/build/lib/util/ResourceUsage.java
@@ -24,7 +24,7 @@
 import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.lang.management.MemoryMXBean;
-import java.util.Iterator;
+import java.util.List;
 
 /**
  * Provides methods to measure the current resource usage of the current process. Also provides some
@@ -142,14 +142,12 @@
       if (file.isDirectory()) {
         return new long[2];
       }
-      Iterator<String> stat =
-          WHITESPACE_SPLITTER.split(Files.asCharSource(file, US_ASCII).read()).iterator();
-      for (int i = 0; i < 13; ++i) {
-        stat.next();
+      List<String> stat =
+          WHITESPACE_SPLITTER.splitToList(Files.asCharSource(file, US_ASCII).read());
+      if (stat.size() < 15) {
+        return new long[2]; // Tolerate malformed input.
       }
-      long token13 = Long.parseLong(stat.next());
-      long token14 = Long.parseLong(stat.next());
-      return new long[] {token13, token14};
+      return new long[] {Long.parseLong(stat.get(13)), Long.parseLong(stat.get(14))};
     } catch (NumberFormatException | IOException e) {
       return new long[2];
     }