summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug78021
-rw-r--r--src/or/circuitbuild.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/changes/bug7802 b/changes/bug7802
index 1d09757efe..9bc0f36fe1 100644
--- a/changes/bug7802
+++ b/changes/bug7802
@@ -8,3 +8,4 @@
- Remove a source of rounding error during path bias count scaling.
- Don't count cannibalized circuits as used for path bias until we
actually try to use them.
+ - Fix circuit_package_relay_cell warning message about n_chan==NULL.
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 97a26dd307..e3a9d59c0e 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -1727,6 +1727,16 @@ pathbias_send_usable_probe(circuit_t *circ)
return -1;
}
+ /* Can't probe if the channel isn't open */
+ if (circ->n_chan == NULL ||
+ (circ->n_chan->state != CHANNEL_STATE_OPEN
+ && circ->n_chan->state != CHANNEL_STATE_MAINT)) {
+ log_info(LD_CIRC,
+ "Skipping pathbias probe for circuit %d: Channel is not open.",
+ ocirc->global_identifier);
+ return -1;
+ }
+
circuit_change_purpose(circ, CIRCUIT_PURPOSE_PATH_BIAS_TESTING);
/* Update timestamp for when circuit_expire_building() should kill us */