diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-09-15 14:26:59 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-09-15 14:26:59 -0400 |
commit | 75659fd548cbb6d597c9cf3fc6748f9771a746e9 (patch) | |
tree | 559770514b4d53057876c70d15a2af022f6c2669 | |
parent | 7ee486c15f51177016baf85c1d21244b84667dc2 (diff) | |
download | tor-75659fd548cbb6d597c9cf3fc6748f9771a746e9.tar.gz tor-75659fd548cbb6d597c9cf3fc6748f9771a746e9.zip |
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.
-rw-r--r-- | src/common/util.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/common/util.c b/src/common/util.c index 40f05468d8..6b1b4296b5 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; } |