summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2003-09-14 06:43:18 +0000
committerRoger Dingledine <arma@torproject.org>2003-09-14 06:43:18 +0000
commitb63013e8470a2d44036d8157344484c2f4d8c6cd (patch)
tree9cd32da5d6d23caab101f685056daedf03632990
parente585dad88776719bd72faaa7225dbdec230c929a (diff)
downloadtor-b63013e8470a2d44036d8157344484c2f4d8c6cd.tar.gz
tor-b63013e8470a2d44036d8157344484c2f4d8c6cd.zip
finally tracked down the seg fault
svn:r455
-rw-r--r--src/or/connection.c2
-rw-r--r--src/or/main.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/or/connection.c b/src/or/connection.c
index fe18c8baec..1cf6f619a1 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -249,7 +249,7 @@ int connection_handle_listener_read(connection_t *conn, int new_type) {
}
if(connection_init_accepted_conn(newconn) < 0) {
- connection_free(newconn);
+ newconn->marked_for_close = 1;
return 0;
}
return 0;
diff --git a/src/or/main.c b/src/or/main.c
index 6b12777205..3fe57fcdb5 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -676,6 +676,7 @@ build_directory(directory_t *dir) {
continue; /* we only want to list ones that successfully handshaked */
router = router_get_by_addr_port(conn->addr,conn->port);
if(!router) {
+ /* XXX this legitimately happens when conn is an OP. How to detect this? */
log(LOG_ERR,"build_directory(): couldn't find router %d:%d!",
conn->addr,conn->port);
continue;