Browse Source

Add missing code to set cache->journal_len when reading microdesc journal

This could be one reason that authorities' journals would grow without
bound; related to bug 2230. Bugfix on 0.2.2.6-alpha.  Fix by
"cypherpunks".
Nick Mathewson 13 years ago
parent
commit
698fa0fc67
2 changed files with 8 additions and 0 deletions
  1. 7 0
      changes/bug2230_part1
  2. 1 0
      src/or/microdesc.c

+ 7 - 0
changes/bug2230_part1

@@ -0,0 +1,7 @@
+  o Minor bugfixes
+    - When loading the microdesc journal, remember its current size.
+      In 0.2.2, this helps prevent the microdesc journal from growing
+      without limit on authorities (who are the only ones to use it in
+      0.2.2).  Fixes a part of bug 2230; bugfix on 0.2.2.6-alpha.
+      Fix posted by "cypherpunks."
+      

+ 1 - 0
src/or/microdesc.c

@@ -261,6 +261,7 @@ microdesc_cache_reload(microdesc_cache_t *cache)
   journal_content = read_file_to_str(cache->journal_fname,
                                      RFTS_IGNORE_MISSING, &st);
   if (journal_content) {
+    cache->journal_len = (size_t) st.st_size;
     added = microdescs_add_to_cache(cache, journal_content,
                                     journal_content+st.st_size,
                                     SAVED_IN_JOURNAL, 0);