summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-11-12 13:05:58 -0500
committerNick Mathewson <nickm@torproject.org>2010-11-12 13:05:58 -0500
commitdbba84c917279c8c58b1bfdac37fbcdfd84b7bb7 (patch)
treee30871621df4e8715a12d2234e7cd0337451bbe4
parent3a7614c670cd31b76df1ddc8872e7050faf61355 (diff)
downloadtor-dbba84c917279c8c58b1bfdac37fbcdfd84b7bb7.tar.gz
tor-dbba84c917279c8c58b1bfdac37fbcdfd84b7bb7.zip
Avoid perma-blocking the controller on bug in shrink_freelist
In all likelihood, this bug would make Tor assert, but if it doesn't, let's not have two bugs.
-rw-r--r--src/or/buffers.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/or/buffers.c b/src/or/buffers.c
index 7c28dc1a47..d25ff64333 100644
--- a/src/or/buffers.c
+++ b/src/or/buffers.c
@@ -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;