From d41030436cc9b7473bb4f21bc492309553374b78 Mon Sep 17 00:00:00 2001 From: Sebastian Hahn Date: Mon, 22 Feb 2010 12:08:58 +0100 Subject: Expand homedirs in paths passed to tor-checkkey This is so that coverity stops complaining about using a user-supplied string with the open() syscall. Let's see if it works. --- ChangeLog | 3 +++ src/tools/tor-checkkey.c | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3