diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 3b053c7cc3fbfcc5ad535e54a1c50d301cddab53..ca4bf3ffe4ca48c287dbf67eea4bc4a224cc2b25 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -2319,6 +2319,11 @@ connection_ap_handshake_process_socks(entry_connection_t *conn) connection_write_to_buf((const char*)socks->reply, socks->replylen, base_conn); socks->replylen = 0; + if (sockshere == -1) { + /* An invalid request just got a reply, no additional + * one is necessary. */ + socks->has_finished = 1; + } } if (sockshere == 0) {