[tor-commits] [tor/release-0.2.4] Fix bug 9645: don't forget an md just because we can't save it.

arma at torproject.org arma at torproject.org
Sat Nov 2 10:31:23 UTC 2013


commit 264aa271a734767a13065bc6e0d15c4d8c602005
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Sep 3 14:25:01 2013 -0400

    Fix bug 9645: don't forget an md just because we can't save it.
---
 changes/bug9645a   |    5 +++++
 src/or/microdesc.c |    9 ++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/changes/bug9645a b/changes/bug9645a
new file mode 100644
index 0000000..2daba65
--- /dev/null
+++ b/changes/bug9645a
@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - If we are unable to save a microdescriptor to the journal, do not
+      drop it from memory and then reattempt downloading it. Fixes bug
+      9645; bugfix on 0.2.2.6-alpha.
+
diff --git a/src/or/microdesc.c b/src/or/microdesc.c
index b93bd83..8b5581f 100644
--- a/src/or/microdesc.c
+++ b/src/or/microdesc.c
@@ -213,7 +213,6 @@ microdescs_add_list_to_cache(microdesc_cache_t *cache,
     if (fd < 0) {
       log_warn(LD_DIR, "Couldn't append to journal in %s: %s",
                cache->journal_fname, strerror(errno));
-      return NULL;
     }
   }
 
@@ -238,11 +237,11 @@ microdescs_add_list_to_cache(microdesc_cache_t *cache,
       if (size < 0) {
         /* we already warned in dump_microdescriptor */
         abort_writing_to_file(open_file);
-        smartlist_clear(added);
-        return added;
+        fd = -1;
+      } else {
+        md->saved_location = SAVED_IN_JOURNAL;
+        cache->journal_len += size;
       }
-      md->saved_location = SAVED_IN_JOURNAL;
-      cache->journal_len += size;
     } else {
       md->saved_location = where;
     }





More information about the tor-commits mailing list