From 6ee9138576ae289c4ed726ddbb7b3f547f111f70 Mon Sep 17 00:00:00 2001 From: Andrea Shepard Date: Tue, 15 Apr 2014 21:25:49 -0700 Subject: Call connection_or_close_for_error() properly if write_to_buf() ever fails on an orconn --- src/or/connection.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/or') diff --git a/src/or/connection.c b/src/or/connection.c index 1be4c45dd..5f9eecb89 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -4009,6 +4009,12 @@ connection_write_to_buf_impl_,(const char *string, size_t len, "write_to_buf failed. Closing circuit (fd %d).", (int)conn->s); circuit_mark_for_close(circuit_get_by_edge_conn(TO_EDGE_CONN(conn)), END_CIRC_REASON_INTERNAL); + } else if (conn->type == CONN_TYPE_OR) { + or_connection_t *orconn = TO_OR_CONN(conn); + log_warn(LD_NET, + "write_to_buf failed on an orconn; notifying of error " + "(fd %d)", (int)(conn->s)); + connection_or_close_for_error(orconn, 0); } else { log_warn(LD_NET, "write_to_buf failed. Closing connection (fd %d).", -- cgit v1.2.3