aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/annotations_fix4
-rw-r--r--src/or/routerparse.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/changes/annotations_fix b/changes/annotations_fix
index d3cd7f343e..b259a306d2 100644
--- a/changes/annotations_fix
+++ b/changes/annotations_fix
@@ -4,5 +4,7 @@
Previously we would ignore such annotations at first, but cache
them to disk anyway. Bugfix on 0.2.0.8-alpha. Found by piebeer.
-
+ o Minor bugfixes
+ - Enforce multiplicity rules when parsing annotations. Bugfix on
+ 0.2.0.8-alpha. Found by piebeer.
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index da08e46644..3d8ca14317 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -3181,6 +3181,9 @@ tokenize_string(memarea_t *area,
end = start+strlen(start);
for (i = 0; i < _NIL; ++i)
counts[i] = 0;
+
+ SMARTLIST_FOREACH(out, const directory_token_t *, t, ++counts[t->tp]);
+
while (*s < end && (!tok || tok->tp != _EOF)) {
tok = get_next_token(area, s, end, table);
if (tok->tp == _ERR) {