summaryrefslogtreecommitdiff
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
commit8340f641c30f8e529b513732be2c931e128227e2 (patch)
tree06c7af6b30023ec1651c66c49d8d11c70b16b595
parent4aa3d511b25fe99579d7810418433eef46e417da (diff)
parentd3a972561aeb38d7b346be1826054c60bf3adfaa (diff)
downloadtor-8340f641c30f8e529b513732be2c931e128227e2.tar.gz
tor-8340f641c30f8e529b513732be2c931e128227e2.zip
Merge branch 'maint-0.3.1' into maint-0.3.2
-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 275746ac93..defbf63b79 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);