Loading src/or/connection.c +15 −4 Original line number Diff line number Diff line Loading @@ -163,10 +163,6 @@ _connection_free(connection_t *conn) { tor_free(conn->nickname); tor_free(conn->socks_request); if (conn->s >= 0) { log_fn(LOG_INFO,"closing fd %d.",conn->s); tor_close_socket(conn->s); } if (conn->read_event) { event_del(conn->read_event); tor_free(conn->read_event); Loading @@ -175,6 +171,11 @@ _connection_free(connection_t *conn) { event_del(conn->write_event); tor_free(conn->write_event); } if (conn->s >= 0) { log_fn(LOG_INFO,"closing fd %d.",conn->s); tor_close_socket(conn->s); } memset(conn, 0xAA, sizeof(connection_t)); /* poison memory */ tor_free(conn); } Loading Loading @@ -309,6 +310,16 @@ void connection_close_immediate(connection_t *conn) conn->s, CONN_TYPE_TO_STRING(conn->type), conn->state, (int)conn->outbuf_flushlen); } if (conn->read_event) { event_del(conn->read_event); tor_free(conn->read_event); conn->read_event = NULL; } if (conn->write_event) { event_del(conn->write_event); tor_free(conn->write_event); conn->write_event = NULL; } tor_close_socket(conn->s); conn->s = -1; if (!connection_is_listener(conn)) { Loading Loading
src/or/connection.c +15 −4 Original line number Diff line number Diff line Loading @@ -163,10 +163,6 @@ _connection_free(connection_t *conn) { tor_free(conn->nickname); tor_free(conn->socks_request); if (conn->s >= 0) { log_fn(LOG_INFO,"closing fd %d.",conn->s); tor_close_socket(conn->s); } if (conn->read_event) { event_del(conn->read_event); tor_free(conn->read_event); Loading @@ -175,6 +171,11 @@ _connection_free(connection_t *conn) { event_del(conn->write_event); tor_free(conn->write_event); } if (conn->s >= 0) { log_fn(LOG_INFO,"closing fd %d.",conn->s); tor_close_socket(conn->s); } memset(conn, 0xAA, sizeof(connection_t)); /* poison memory */ tor_free(conn); } Loading Loading @@ -309,6 +310,16 @@ void connection_close_immediate(connection_t *conn) conn->s, CONN_TYPE_TO_STRING(conn->type), conn->state, (int)conn->outbuf_flushlen); } if (conn->read_event) { event_del(conn->read_event); tor_free(conn->read_event); conn->read_event = NULL; } if (conn->write_event) { event_del(conn->write_event); tor_free(conn->write_event); conn->write_event = NULL; } tor_close_socket(conn->s); conn->s = -1; if (!connection_is_listener(conn)) { Loading