]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Avoid perma-blocking the controller on bug in shrink_freelist
authorNick Mathewson <nickm@torproject.org>
Fri, 12 Nov 2010 18:05:58 +0000 (13:05 -0500)
committerNick Mathewson <nickm@torproject.org>
Fri, 12 Nov 2010 18:05:58 +0000 (13:05 -0500)
In all likelihood, this bug would make Tor assert, but if it doesn't,
let's not have two bugs.

src/or/buffers.c

index 7c28dc1a472f0e08e495973a35fb62503fd032cc..d25ff643330c345d6b49c14dc67afe73b5b57157 100644 (file)
@@ -283,7 +283,7 @@ buf_shrink_freelists(int free_all)
                    orig_n_to_skip, (int)freelists[i].alloc_size,
                    orig_n_to_skip-n_to_skip, freelists[i].cur_length);
           assert_freelist_ok(&freelists[i]);
-          return;
+          goto done;
         }
         // tor_assert((*chp)->next);
         chp = &(*chp)->next;
@@ -318,6 +318,7 @@ buf_shrink_freelists(int free_all)
     freelists[i].lowest_length = freelists[i].cur_length;
     assert_freelist_ok(&freelists[i]);
   }
+ done:
   enable_control_logging();
 #else
   (void) free_all;