Merge remote-tracking branch 'public/bug11278'

This commit is contained in:
Nick Mathewson 2014-04-01 21:56:49 -04:00
commit 17d5734df4
2 changed files with 15 additions and 0 deletions

3
changes/bug11278 Normal file
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.

View File

@ -833,6 +833,18 @@ circuit_free_all(void)
smartlist_free(circuits_pending_chans); smartlist_free(circuits_pending_chans);
circuits_pending_chans = NULL; 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); HT_CLEAR(chan_circid_map, &chan_circid_map);
} }