Commit 905ef987 authored by Nick Mathewson's avatar Nick Mathewson 🎨
Browse files

Make --hash-password not craash on exit.


svn:r5243
parent 9a1d2043
......@@ -1677,9 +1677,11 @@ void
helper_nodes_free_all(void)
{
/* Don't call clear_helper_nodes(); that will flush our state change to disk */
SMARTLIST_FOREACH(helper_nodes, helper_node_t *, h, tor_free(h));
smartlist_free(helper_nodes);
helper_nodes = NULL;
if (helper_nodes) {
SMARTLIST_FOREACH(helper_nodes, helper_node_t *, h, tor_free(h));
smartlist_free(helper_nodes);
helper_nodes = NULL;
}
}
/** How long (in seconds) do we allow a helper node to be nonfunctional before
......
......@@ -394,11 +394,19 @@ set_options(or_options_t *new_val)
void
config_free_all(void)
{
config_free(&options_format, global_options);
config_free(&state_format, global_state);
if (global_options) {
config_free(&options_format, global_options);
global_options = NULL;
}
if (global_state) {
config_free(&state_format, global_state);
global_state = NULL;
}
tor_free(torrc_fname);
addr_policy_free(reachable_addr_policy);
reachable_addr_policy = NULL;
if (reachable_addr_policy) {
addr_policy_free(reachable_addr_policy);
reachable_addr_policy = NULL;
}
}
/** If options->SafeLogging is on, return a not very useful string,
......
......@@ -556,9 +556,14 @@ addressmap_clean(time_t now)
void
addressmap_free_all(void)
{
strmap_free(addressmap, addressmap_ent_free);
addressmap = NULL;
strmap_free(virtaddress_reversemap, addressmap_virtaddress_ent_free);
if (addressmap) {
strmap_free(addressmap, addressmap_ent_free);
addressmap = NULL;
}
if (virtaddress_reversemap) {
strmap_free(virtaddress_reversemap, addressmap_virtaddress_ent_free);
virtaddress_reversemap = NULL;
}
}
/** Look at address, and rewrite it until it doesn't want any
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment