aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-05-16 12:11:45 -0400
committerNick Mathewson <nickm@torproject.org>2018-05-16 12:11:45 -0400
commit3c4353179f2304767f5084734a7d1550f51f4542 (patch)
treefbffbdb413067b60e8e35b4e7b2e84a19f728aa5
parent6acbd4c112d984c8a3fcfa1a387093131b740ca7 (diff)
parent8340f641c30f8e529b513732be2c931e128227e2 (diff)
downloadtor-3c4353179f2304767f5084734a7d1550f51f4542.tar.gz
tor-3c4353179f2304767f5084734a7d1550f51f4542.zip
Merge branch 'maint-0.3.2' into maint-0.3.3
-rw-r--r--changes/bug260725
-rw-r--r--src/or/relay.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/changes/bug26072 b/changes/bug26072
new file mode 100644
index 0000000000..2489e4fbb5
--- /dev/null
+++ b/changes/bug26072
@@ -0,0 +1,5 @@
+ o Minor bugfixes (correctness, client):
+ - Upon receiving a malformed connected cell, stop processing the cell
+ immediately. Previously we would mark the connection for close, but
+ continue processing the cell as if the connection were open. Fixes bug
+ 26072; bugfix on 0.2.4.7-alpha.
diff --git a/src/or/relay.c b/src/or/relay.c
index b3571d6cdf..4c1a8ed96d 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -1455,6 +1455,7 @@ connection_edge_process_relay_cell_not_open(
"Got a badly formatted connected cell. Closing.");
connection_edge_end(conn, END_STREAM_REASON_TORPROTOCOL);
connection_mark_unattached_ap(entry_conn, END_STREAM_REASON_TORPROTOCOL);
+ return 0;
}
if (tor_addr_family(&addr) != AF_UNSPEC) {
const sa_family_t family = tor_addr_family(&addr);