From: Nick Mathewson Date: Tue, 23 Jul 2019 16:36:40 +0000 (-0400) Subject: Allow NULL circ->p_chan in circuit_is_suitable_for_introduce1() X-Git-Tag: tor-0.4.2.1-alpha~128^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f14ce4bce6cb1772ce4dbba79acbed27b3a40b31;p=thirdparty%2Ftor.git 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. --- 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.");