[tor-bugs] #19454 [Core Tor/Tor]: tor crashed when "HeartbeatPeriod 0"

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Jun 20 11:25:52 UTC 2016

#19454: tor crashed when "HeartbeatPeriod 0"
 Reporter:  kukabu        |          Owner:
     Type:  defect        |         Status:  new
 Priority:  Medium        |      Milestone:  Tor: 0.2.8.x-final
Component:  Core Tor/Tor  |        Version:  Tor:
 Severity:  Blocker       |     Resolution:
 Keywords:  029-proposed  |  Actual Points:
Parent ID:                |         Points:
 Reviewer:                |        Sponsor:

Comment (by cypherpunks):

 The following patch seems to fix the issue. The `HEARTBEAT_INTERVAL` value
 is a copy of the `MIN_HEARTBEAT_PERIOD` value in src/or/config.c because
 its scope prevented me from reusing it. It would be a good idea to write
 tests for these callback functions to test their intended behavior and
 catch issues like this in the future.

 Also, I'm guessing the `XXXX` comment is referring to checking the return
 value of `log_heartbeat` and changing the return value accordingly. If
 heartbeats are enabled and the callback is successful, i see nothing wrong
 with returning the value of `HeartbeatPeriod`.
 diff --git a/src/or/main.c b/src/or/main.c
 index 9f3306d..0967248 100644
 --- a/src/or/main.c
 +++ b/src/or/main.c
 @@ -2007,6 +2007,11 @@ check_fw_helper_app_callback(time_t now, const
 or_options_t *options)
  static int
  heartbeat_callback(time_t now, const or_options_t *options)
 +#define HEARTBEAT_INTERVAL (30*60)
 +  if (!options->HeartbeatPeriod) {
 +  }
    static int first = 1;
    /* 12. write the heartbeat message */
    if (first) {

Ticket URL: <https://trac.torproject.org/projects/tor/ticket/19454#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online

More information about the tor-bugs mailing list