diff options
author | Roger Dingledine <arma@torproject.org> | 2008-04-15 23:05:44 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2008-04-15 23:05:44 +0000 |
commit | 28c802b5fded71ddbe39be41cdb6e4a94c30f098 (patch) | |
tree | acb551eb30eb93a9bcaa8ab0540efb0cff91ec0c | |
parent | 5f85fc9681c07fca07d82d7fd52f420273a734ae (diff) | |
download | tor-28c802b5fded71ddbe39be41cdb6e4a94c30f098.tar.gz tor-28c802b5fded71ddbe39be41cdb6e4a94c30f098.zip |
Avoid a rare assert that can trigger when Tor doesn't have much
directory information yet and it tries to fetch a v2 hidden
service descriptor. Fixes bug 651, reported by nwf.
svn:r14373
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/or/connection.c | 4 |
2 files changed, 6 insertions, 1 deletions
@@ -1,5 +1,8 @@ Changes in version 0.2.0.24-rc - 2008-04-0? o Minor bugfixes: + - Avoid a rare assert that can trigger when Tor doesn't have much + directory information yet and it tries to fetch a v2 hidden + service descriptor. Fixes bug 651, reported by nwf. - Initialize log mutex before initializing dmalloc. Otherwise, running with dmalloc would crash. Bugfix on 0.2.0.x-alpha. - Do not read the configuration file when we've only been told to diff --git a/src/or/connection.c b/src/or/connection.c index 8168868644..f150727b92 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -485,7 +485,9 @@ connection_about_to_close_connection(connection_t *conn) * retry as needed. (If a fetch is successful, the connection state * is changed to DIR_PURPOSE_HAS_FETCHED_RENDDESC to mark that * refetching is unnecessary.) */ - if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2) + if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2 && + dir_conn->rend_query && + strlen(dir_conn->rend_query) == REND_SERVICE_ID_LEN_BASE32) rend_client_refetch_v2_renddesc(dir_conn->rend_query); break; case CONN_TYPE_OR: |