Quellcode durchsuchen

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.
Sebastian Hahn vor 14 Jahren
Ursprung
Commit
d41030436c
2 geänderte Dateien mit 11 neuen und 1 gelöschten Zeilen
  1. 3 0
      ChangeLog
  2. 8 1
      src/tools/tor-checkkey.c

+ 3 - 0
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

+ 8 - 1
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;