diff options
Diffstat (limited to 'src/or/hs_circuit.c')
-rw-r--r-- | src/or/hs_circuit.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/hs_circuit.c b/src/or/hs_circuit.c index 75c946799f..527439599a 100644 --- a/src/or/hs_circuit.c +++ b/src/or/hs_circuit.c @@ -898,6 +898,10 @@ hs_circ_handle_intro_established(const hs_service_t *service, tor_assert(circ); tor_assert(payload); + if (BUG(TO_CIRCUIT(circ)->purpose != CIRCUIT_PURPOSE_S_ESTABLISH_INTRO)) { + goto done; + } + /* Try to parse the payload into a cell making sure we do actually have a * valid cell. For a legacy node, it's an empty payload so as long as we * have the cell, we are good. */ |