aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendservice.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-06-29 00:32:27 -0400
committerNick Mathewson <nickm@torproject.org>2012-06-29 00:32:27 -0400
commit6abdcdf11641b9d7e84d438ece781dcfb689a705 (patch)
tree791b0f0bd0b1f1864e94cd1d7b7fc098764dc52a /src/or/rendservice.c
parentda3edc4df0783778833b6f8660f73047a280e308 (diff)
downloadtor-6abdcdf11641b9d7e84d438ece781dcfb689a705.tar.gz
tor-6abdcdf11641b9d7e84d438ece781dcfb689a705.zip
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!
Diffstat (limited to 'src/or/rendservice.c')
-rw-r--r--src/or/rendservice.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 8acc226e3a..689cfb1646 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -724,7 +724,6 @@ rend_service_load_auth_keys(rend_service_t *s, const char *hfname)
} else {
log_info(LD_CONFIG, "Parsed %d previously stored client entries.",
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)
abort_writing_to_file(open_hfile);
done:
- tor_strclear(client_keys_str);
- tor_free(client_keys_str);
+ if (client_keys_str) {
+ tor_strclear(client_keys_str);
+ tor_free(client_keys_str);
+ }
strmap_free(parsed_clients, rend_authorized_client_strmap_item_free);
memset(cfname, 0, sizeof(cfname));