mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
fix a rare seg fault for people running hidden services on
intermittent connections svn:r2353
This commit is contained in:
parent
eade496dcd
commit
802b203ff1
@ -264,6 +264,11 @@ static void rend_service_update_descriptor(rend_service_t *service)
|
||||
d->intro_points = tor_malloc(sizeof(char*)*n);
|
||||
for (i=0; i < n; ++i) {
|
||||
router = router_get_by_nickname(smartlist_get(service->intro_nodes, i));
|
||||
if(!router) {
|
||||
log_fn(LOG_WARN,"Router '%s' not found. Skipping.",
|
||||
(char*)smartlist_get(service->intro_nodes, i));
|
||||
continue;
|
||||
}
|
||||
circ = find_intro_circuit(router, service->pk_digest);
|
||||
if (circ && circ->purpose == CIRCUIT_PURPOSE_S_INTRO) {
|
||||
/* We have an entirely established intro circuit. */
|
||||
@ -718,6 +723,7 @@ find_intro_circuit(routerinfo_t *router, const char *pk_digest)
|
||||
{
|
||||
circuit_t *circ = NULL;
|
||||
|
||||
tor_assert(router);
|
||||
while ((circ = circuit_get_next_by_pk_and_purpose(circ,pk_digest,
|
||||
CIRCUIT_PURPOSE_S_INTRO))) {
|
||||
tor_assert(circ->cpath);
|
||||
|
Loading…
Reference in New Issue
Block a user