aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--src/tools/tor-checkkey.c9
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index be7b30b18..1e39b79ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -71,6 +71,9 @@ Changes in version 0.2.2.9-alpha - 2010-02-22
to the circuit build timeout.
- Future-proof the controller protocol a bit by ignoring keyword
arguments we do not recognize.
+ - Expand homedirs passed to tor-checkkey. This should silence a
+ coverity complaint about passing a user-supplied string into
+ open() without checking it.
Changes in version 0.2.1.24 - 2010-02-21
diff --git a/src/tools/tor-checkkey.c b/src/tools/tor-checkkey.c
index 739f7332d..30c223a7a 100644
--- a/src/tools/tor-checkkey.c
+++ b/src/tools/tor-checkkey.c
@@ -19,6 +19,7 @@ int main(int c, char **v)
RSA *rsa;
int wantdigest=0;
int fname_idx;
+ char *fname=NULL;
init_logging();
if (c < 2) {
@@ -46,7 +47,13 @@ int main(int c, char **v)
fname_idx = 1;
}
- str = read_file_to_str(v[fname_idx], 0, NULL);
+#ifdef MS_WINDOWS
+ fname = tor_strdup(v[fname_idx]);
+#else
+ fname = expand_filename(v[fname_idx]);
+#endif
+ str = read_file_to_str(fname, 0, NULL);
+ tor_free(fname);
if (!str) {
fprintf(stderr, "Couldn't read %s\n", v[fname_idx]);
return 1;