mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 06:48:05 +01:00
Call connection_or_close_for_error() properly if write_to_buf() ever fails on an orconn
This commit is contained in:
parent
125c8e5468
commit
6ee9138576
2 changed files with 11 additions and 0 deletions
5
changes/bug11304
Normal file
5
changes/bug11304
Normal file
|
@ -0,0 +1,5 @@
|
|||
o Bugfixes:
|
||||
- If write_to_buf() in connection_write_to_buf_impl_() ever fails,
|
||||
check if it's an or_connection_t and correctly call
|
||||
connection_or_close_for_error() rather than connection_mark_for_close()
|
||||
directly. Fixes bug #11304.
|
|
@ -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).",
|
||||
|
|
Loading…
Add table
Reference in a new issue