diff options
author | Roger Dingledine <arma@torproject.org> | 2004-10-24 23:09:48 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2004-10-24 23:09:48 +0000 |
commit | 20cdc0a517001c154477c0074447946242c56bb7 (patch) | |
tree | b9765b491ede746c4739b8eaf7e5e427bf1e3cf0 /src/or | |
parent | defe1e5f3cd464f9b499d7b71f5fe49b917f6ca7 (diff) | |
download | tor-20cdc0a517001c154477c0074447946242c56bb7.tar.gz tor-20cdc0a517001c154477c0074447946242c56bb7.zip |
fix a memory leak
svn:r2587
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/rendservice.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c index f44e1d34e7..ddf54d836c 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -42,7 +42,7 @@ typedef struct rend_service_t { crypto_pk_env_t *private_key; char service_id[REND_SERVICE_ID_LEN+1]; char pk_digest[DIGEST_LEN]; - smartlist_t *intro_nodes; /**< list of nicknames for intro points we have, + smartlist_t *intro_nodes; /**< list of hexdigests for intro points we have, * or are trying to establish. */ time_t intro_period_started; int n_intro_circuits_launched; /**< count of intro circuits we have @@ -452,7 +452,7 @@ rend_service_introduce(circuit_t *circuit, const char *request, size_t request_l log_fn(LOG_WARN, "Can't launch circuit to rendezvous point '%s' for service %s", rp_nickname, serviceid); - return -1; + goto err; } tor_assert(launched->build_state); /* Fill in the circuit's state. */ @@ -846,6 +846,7 @@ void rend_services_introduce(void) { changed = 1; smartlist_add(intro_routers, router); smartlist_add(exclude_routers, router); +/*XXX009 should strdup the hexdigest, not nickname */ smartlist_add(service->intro_nodes, tor_strdup(router->nickname)); log_fn(LOG_INFO,"Picked router %s as an intro point for %s.", router->nickname, service->service_id); |