Loading src/or/connection.c +15 −4 Original line number Original line Diff line number Diff line Loading @@ -163,10 +163,6 @@ _connection_free(connection_t *conn) { tor_free(conn->nickname); tor_free(conn->nickname); tor_free(conn->socks_request); 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) { if (conn->read_event) { event_del(conn->read_event); event_del(conn->read_event); tor_free(conn->read_event); tor_free(conn->read_event); Loading @@ -175,6 +171,11 @@ _connection_free(connection_t *conn) { event_del(conn->write_event); event_del(conn->write_event); tor_free(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 */ memset(conn, 0xAA, sizeof(connection_t)); /* poison memory */ tor_free(conn); 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->s, CONN_TYPE_TO_STRING(conn->type), conn->state, (int)conn->outbuf_flushlen); 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); tor_close_socket(conn->s); conn->s = -1; conn->s = -1; if (!connection_is_listener(conn)) { if (!connection_is_listener(conn)) { Loading Loading
src/or/connection.c +15 −4 Original line number Original line Diff line number Diff line Loading @@ -163,10 +163,6 @@ _connection_free(connection_t *conn) { tor_free(conn->nickname); tor_free(conn->nickname); tor_free(conn->socks_request); 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) { if (conn->read_event) { event_del(conn->read_event); event_del(conn->read_event); tor_free(conn->read_event); tor_free(conn->read_event); Loading @@ -175,6 +171,11 @@ _connection_free(connection_t *conn) { event_del(conn->write_event); event_del(conn->write_event); tor_free(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 */ memset(conn, 0xAA, sizeof(connection_t)); /* poison memory */ tor_free(conn); 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->s, CONN_TYPE_TO_STRING(conn->type), conn->state, (int)conn->outbuf_flushlen); 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); tor_close_socket(conn->s); conn->s = -1; conn->s = -1; if (!connection_is_listener(conn)) { if (!connection_is_listener(conn)) { Loading