Commit b1971d89 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

properly free the return values of rate_limit_log()

resolves bug 7022.
parent c88a4c51
Loading
Loading
Loading
Loading

changes/bug7022

0 → 100644
+3 −0
Changes for changes/bug7022: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
  o Minor bugfixes:
    - Fix memory leaks whenever we logged any message about the "path
      bias" detection. Fixes bug 7022; bugfix on 0.2.3.21-rc.
+9 −0
Changes for src/or/circuitbuild.c: 9 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -2661,6 +2661,7 @@ pathbias_count_first_hop(origin_circuit_t *circ)
               circuit_purpose_to_string(circ->_base.purpose),
               circuit_state_to_string(circ->_base.state),
               rate_msg);
        tor_free(rate_msg);
      }
      tor_fragile_assert();
    }
@@ -2679,6 +2680,7 @@ pathbias_count_first_hop(origin_circuit_t *circ)
                circuit_purpose_to_string(circ->_base.purpose),
                circuit_state_to_string(circ->_base.state),
                rate_msg);
        tor_free(rate_msg);
      }
    }

@@ -2706,6 +2708,7 @@ pathbias_count_first_hop(origin_circuit_t *circ)
                   circuit_purpose_to_string(circ->_base.purpose),
                   circuit_state_to_string(circ->_base.state),
                   rate_msg);
            tor_free(rate_msg);
          }
        }
      } else {
@@ -2717,6 +2720,7 @@ pathbias_count_first_hop(origin_circuit_t *circ)
              circuit_purpose_to_string(circ->_base.purpose),
              circuit_state_to_string(circ->_base.state),
              rate_msg);
          tor_free(rate_msg);
        }
      }
    }
@@ -2733,6 +2737,7 @@ pathbias_count_first_hop(origin_circuit_t *circ)
            circuit_purpose_to_string(circ->_base.purpose),
            circuit_state_to_string(circ->_base.state),
            rate_msg);
        tor_free(rate_msg);
      }
    }
  }
@@ -2771,6 +2776,7 @@ pathbias_count_success(origin_circuit_t *circ)
               circuit_purpose_to_string(circ->_base.purpose),
               circuit_state_to_string(circ->_base.state),
               rate_msg);
        tor_free(rate_msg);
      }
      tor_fragile_assert();
    }
@@ -2800,6 +2806,7 @@ pathbias_count_success(origin_circuit_t *circ)
              circuit_purpose_to_string(circ->_base.purpose),
              circuit_state_to_string(circ->_base.state),
              rate_msg);
          tor_free(rate_msg);
        }
      }

@@ -2818,6 +2825,7 @@ pathbias_count_success(origin_circuit_t *circ)
            circuit_purpose_to_string(circ->_base.purpose),
            circuit_state_to_string(circ->_base.state),
            rate_msg);
        tor_free(rate_msg);
      }
    }
  } else {
@@ -2831,6 +2839,7 @@ pathbias_count_success(origin_circuit_t *circ)
            circuit_purpose_to_string(circ->_base.purpose),
            circuit_state_to_string(circ->_base.state),
            rate_msg);
        tor_free(rate_msg);
      }
    }
  }