summaryrefslogtreecommitdiff
path: root/src/or/hs_circuit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/hs_circuit.c')
-rw-r--r--src/or/hs_circuit.c4
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. */