commit 264aa271a734767a13065bc6e0d15c4d8c602005 Author: Nick Mathewson nickm@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; }