diff --git a/ChangeLog b/ChangeLog index 28432b5fb4..b30ed444b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -75,6 +75,9 @@ Changes in version 0.2.0.10-alpha - 2007-1?-?? a vote. Bugfix on 0.2.0.3-alpha. - Stop leaking v2_download_status_map on shutdown. Bugfix on 0.2.0.9-alpha. + - Stop leaking conn->nickname every time we make a connection to a + Tor relay without knowing its expected identity digest (e.g. when + using bridges). Bugfix on 0.2.0.3-alpha. - Minor bugfixes (portability): - Run correctly on platforms where rlim_t is larger than unsigned diff --git a/src/or/connection_or.c b/src/or/connection_or.c index b910bdfbcb..eb8ca58fc6 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -663,6 +663,7 @@ connection_or_check_valid_handshake(or_connection_t *conn, int started_here, if (started_here && tor_digest_is_zero(conn->identity_digest)) { memcpy(conn->identity_digest, digest_rcvd, DIGEST_LEN); + tor_free(conn->nickname); conn->nickname = tor_malloc(HEX_DIGEST_LEN+2); conn->nickname[0] = '$'; base16_encode(conn->nickname+1, HEX_DIGEST_LEN+1,