connection_tls_start_handshake(): inconstistency checks of conn->tls
Checking for NULL from tor_tls_new() happens too late:
conn->tls = tor_tls_new(conn->_base.s, receiving);
tor_tls_set_logged_address(conn->tls, // XXX client and relay?
escaped_safe_str(conn->_base.address));
if (!conn->tls) {
Before that condition tor_assert happens in the tor_tls_set_logged_address():
tor_tls_set_logged_address(tor_tls_t *tls, const char *address)
{
tor_assert(tls);
Trac:
Username: troll_un