[tor-commits] [metrics-web/master] Make GetTor stats file parsing more robust.
karsten at torproject.org
karsten at torproject.org
Wed May 2 13:04:11 UTC 2012
commit bfd2c04cb8ec972e9e71036f6c679c3ac06d9c73
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date: Wed May 2 15:02:54 2012 +0200
Make GetTor stats file parsing more robust.
---
src/org/torproject/ernie/cron/GetTorProcessor.java | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/org/torproject/ernie/cron/GetTorProcessor.java b/src/org/torproject/ernie/cron/GetTorProcessor.java
index 0c5325d..2b5d67a 100644
--- a/src/org/torproject/ernie/cron/GetTorProcessor.java
+++ b/src/org/torproject/ernie/cron/GetTorProcessor.java
@@ -53,13 +53,22 @@ public class GetTorProcessor {
continue;
}
Map<String, Integer> obs = new HashMap<String, Integer>();
- data.put(date, obs);
for (int i = 2; i < parts.length; i++) {
- String key = parts[i].split(":")[0].toLowerCase();
- Integer value = new Integer(parts[i].split(":")[1]);
+ String[] partParts = parts[i].split(":");
+ if (partParts.length != 2) {
+ logger.warning("Illegal line in GetTor stats file: '" + line
+ + "'. Skipping.");
+ obs = null;
+ break;
+ }
+ String key = partParts[0].toLowerCase();
+ Integer value = new Integer(partParts[1]);
columns.add(key);
obs.put(key, value);
}
+ if (obs != null) {
+ data.put(date, obs);
+ }
}
br.close();
} catch (IOException e) {
More information about the tor-commits
mailing list