Don't call tor_tls_set_logged_address till after checking conn->tls.

Fixes bug 4531.
This commit is contained in:
George Kadianakis 2011-12-20 19:17:58 +01:00
parent ba1766bc3f
commit 0cfdd88adb

View File

@ -1099,12 +1099,13 @@ connection_tls_start_handshake(or_connection_t *conn, int receiving)
conn->_base.state = OR_CONN_STATE_TLS_HANDSHAKING; conn->_base.state = OR_CONN_STATE_TLS_HANDSHAKING;
tor_assert(!conn->tls); tor_assert(!conn->tls);
conn->tls = tor_tls_new(conn->_base.s, receiving); 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) { if (!conn->tls) {
log_warn(LD_BUG,"tor_tls_new failed. Closing."); log_warn(LD_BUG,"tor_tls_new failed. Closing.");
return -1; return -1;
} }
tor_tls_set_logged_address(conn->tls, // XXX client and relay?
escaped_safe_str(conn->_base.address));
#ifdef USE_BUFFEREVENTS #ifdef USE_BUFFEREVENTS
if (connection_type_uses_bufferevent(TO_CONN(conn))) { if (connection_type_uses_bufferevent(TO_CONN(conn))) {
const int filtering = get_options()->_UseFilteringSSLBufferevents; const int filtering = get_options()->_UseFilteringSSLBufferevents;