Fixes #23610
Signed-off-by: David Goulet <dgoulet@torproject.org>
--- /dev/null
+ o Minor bugfixes (hidden service, relay):
+ - Avoid a possible double close of a circuit by the intro point on error
+ of sending the INTRO_ESTABLISHED cell. Fixes ticket 23610.; bugfix on
+ 0.3.2.1-alpha.
goto done;
err:
- circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_TORPROTOCOL);
+ /* When sending the intro establish ack, on error the circuit can be marked
+ * as closed so avoid a double close. */
+ if (!TO_CIRCUIT(circ)->marked_for_close) {
+ circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_TORPROTOCOL);
+ }
done:
trn_cell_establish_intro_free(parsed_cell);