Merge remote-tracking branch 'public/bug11278'

This commit is contained in:
Nick Mathewson
2014-04-01 21:56:49 -04:00
2 changed files with 15 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
o Minor bugfixes:
- Free placeholder entries in our circuit table at exit; fixes
a harmless memory leak. Fixes bug 11278; bugfix on 0.2.5.1-alpha.
+12
View File
@@ -833,6 +833,18 @@ circuit_free_all(void)
smartlist_free(circuits_pending_chans);
circuits_pending_chans = NULL;
{
chan_circid_circuit_map_t **elt, **next, *c;
for (elt = HT_START(chan_circid_map, &chan_circid_map);
elt;
elt = next) {
c = *elt;
next = HT_NEXT_RMV(chan_circid_map, &chan_circid_map, elt);
tor_assert(c->circuit == NULL);
tor_free(c);
}
}
HT_CLEAR(chan_circid_map, &chan_circid_map);
}