[tor-commits] [tor/master] Use different variable names for pw_uid usages

nickm at torproject.org nickm at torproject.org
Fri Sep 15 18:28:04 UTC 2017


commit 75659fd548cbb6d597c9cf3fc6748f9771a746e9
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Sep 15 14:26:59 2017 -0400

    Use different variable names for pw_uid usages
    
    Catalyst points out that using pw_uid for two different purposes
    here is likely to be confusing.
---
 src/common/util.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/common/util.c b/src/common/util.c
index 40f05468d..6b1b4296b 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -2323,21 +2323,27 @@ check_private_dir,(const char *dirname, cpd_check_t check,
     running_gid = getgid();
   }
   if (st.st_uid != running_uid) {
-    const struct passwd *pw_uid = NULL;
-    char *process_ownername = NULL;
+    char *process_ownername = NULL, *file_ownername = NULL;
 
-    pw_uid = tor_getpwuid(running_uid);
-    process_ownername = pw_uid ? tor_strdup(pw_uid->pw_name) :
-      tor_strdup("<unknown>");
+    {
+      const struct passwd *pw_running = tor_getpwuid(running_uid);
+      process_ownername = pw_running ? tor_strdup(pw_running->pw_name) :
+        tor_strdup("<unknown>");
+    }
 
-    pw_uid = tor_getpwuid(st.st_uid);
+    {
+      const struct passwd *pw_stat = tor_getpwuid(st.st_uid);
+      file_ownername = pw_stat ? tor_strdup(pw_stat->pw_name) :
+        tor_strdup("<unknown>");
+    }
 
     log_warn(LD_FS, "%s is not owned by this user (%s, %d) but by "
         "%s (%d). Perhaps you are running Tor as the wrong user?",
              dirname, process_ownername, (int)running_uid,
-             pw_uid ? pw_uid->pw_name : "<unknown>", (int)st.st_uid);
+             file_ownername, (int)st.st_uid);
 
     tor_free(process_ownername);
+    tor_free(file_ownername);
     close(fd);
     return -1;
   }





More information about the tor-commits mailing list