From f14ce4bce6cb1772ce4dbba79acbed27b3a40b31 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 23 Jul 2019 12:36:40 -0400 Subject: [PATCH] Allow NULL circ->p_chan in circuit_is_suitable_for_introduce1() This shouldn't be possible while Tor is running, but the tests can hit this code. Rather than force the tests to add a dummy channel object, let's just tolerate their incompletely built circuits. --- src/feature/hs/hs_intropoint.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/feature/hs/hs_intropoint.c b/src/feature/hs/hs_intropoint.c index 447f73b602..6383d3ed22 100644 --- a/src/feature/hs/hs_intropoint.c +++ b/src/feature/hs/hs_intropoint.c @@ -548,7 +548,7 @@ circuit_is_suitable_for_introduce1(const or_circuit_t *circ) } /* Disallow single hop client circuit. */ - if (channel_is_client(circ->p_chan)) { + if (circ->p_chan && channel_is_client(circ->p_chan)) { log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, "Single hop client was rejected while trying to introduce. " "Closing circuit.");