Fix crash bug from 4a8eaad7 (Bug 6255)

We were doing a tor_strclear() on client_keys_str when it might not
even be set.

Fix for bug 6255; bug not in any release of Tor.  Thanks to katmagic
for finding this one!
This commit is contained in:
Nick Mathewson 2012-06-29 00:32:27 -04:00
parent da3edc4df0
commit 6abdcdf116

View File

@ -724,7 +724,6 @@ rend_service_load_auth_keys(rend_service_t *s, const char *hfname)
} else { } else {
log_info(LD_CONFIG, "Parsed %d previously stored client entries.", log_info(LD_CONFIG, "Parsed %d previously stored client entries.",
strmap_size(parsed_clients)); strmap_size(parsed_clients));
tor_free(client_keys_str);
} }
} }
@ -870,8 +869,10 @@ rend_service_load_auth_keys(rend_service_t *s, const char *hfname)
if (open_hfile) if (open_hfile)
abort_writing_to_file(open_hfile); abort_writing_to_file(open_hfile);
done: done:
if (client_keys_str) {
tor_strclear(client_keys_str); tor_strclear(client_keys_str);
tor_free(client_keys_str); tor_free(client_keys_str);
}
strmap_free(parsed_clients, rend_authorized_client_strmap_item_free); strmap_free(parsed_clients, rend_authorized_client_strmap_item_free);
memset(cfname, 0, sizeof(cfname)); memset(cfname, 0, sizeof(cfname));