aboutsummaryrefslogtreecommitdiff
path: root/src/or/control.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/control.c')
-rw-r--r--src/or/control.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/or/control.c b/src/or/control.c
index 0764e5a9d..249406de8 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -1397,19 +1397,15 @@ getinfo_helper_dir(control_connection_t *control_conn,
} else {
smartlist_t *fp_list = smartlist_create();
smartlist_t *status_list = smartlist_create();
- size_t fn_len = strlen(get_options()->DataDirectory)+HEX_DIGEST_LEN+32;
- char *fn = tor_malloc(fn_len+1);
- char hex_id[HEX_DIGEST_LEN+1];
dirserv_get_networkstatus_v2_fingerprints(
fp_list, question+strlen("dir/status/"));
SMARTLIST_FOREACH(fp_list, const char *, fp, {
char *s;
- base16_encode(hex_id, sizeof(hex_id), fp, DIGEST_LEN);
- tor_snprintf(fn, fn_len, "%s/cached-status/%s",
- get_options()->DataDirectory, hex_id);
- s = read_file_to_str(fn, 0, NULL);
+ char *fname = networkstatus_get_cache_filename(fp);
+ s = read_file_to_str(fname, 0, NULL);
if (s)
smartlist_add(status_list, s);
+ tor_free(fname);
});
SMARTLIST_FOREACH(fp_list, char *, fp, tor_free(fp));
smartlist_free(fp_list);
@@ -3565,11 +3561,7 @@ get_cookie_file(void)
if (options->CookieAuthFile && strlen(options->CookieAuthFile)) {
return tor_strdup(options->CookieAuthFile);
} else {
- const char *datadir = get_options()->DataDirectory;
- size_t len = strlen(datadir)+64;
- char *fname = tor_malloc(len);
- tor_snprintf(fname, len, "%s"PATH_SEPARATOR"control_auth_cookie", datadir);
- return fname;
+ return get_datadir_fname("control_auth_cookie");
}
}