commit 1135405c8c6ea315cd035171770a6701edae57f0 Author: Nick Mathewson nickm@torproject.org Date: Tue Jul 5 13:43:58 2016 -0400
Fix a variable-shadowing bug in check_private_dir
We introduded a shadowed variable, thereby causing a log message to be wrong. Fixes 19578. I believe the bug was introduced by 54d7d31cba84232 in 0.2.2.29-beta. --- changes/bug19578 | 3 +++ src/common/util.c | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/changes/bug19578 b/changes/bug19578 new file mode 100644 index 0000000..8b3355b --- /dev/null +++ b/changes/bug19578 @@ -0,0 +1,3 @@ + o Minor bugfixes (logging): + - When logging a directory ownership mismatch, log the owning username + correctly. Fixes bug 19578; bugfix on 0.2.2.29-beta. diff --git a/src/common/util.c b/src/common/util.c index 538aeb1..d61985e 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -2291,13 +2291,14 @@ check_private_dir,(const char *dirname, cpd_check_t check, running_gid = getgid(); } if (st.st_uid != running_uid) { - const struct passwd *pw = NULL; + const struct passwd *pw_uid = NULL; char *process_ownername = NULL;
- pw = tor_getpwuid(running_uid); - process_ownername = pw ? tor_strdup(pw->pw_name) : tor_strdup("<unknown>"); + pw_uid = tor_getpwuid(running_uid); + process_ownername = pw_uid ? tor_strdup(pw_uid->pw_name) : + tor_strdup("<unknown>");
- pw = tor_getpwuid(st.st_uid); + pw_uid = tor_getpwuid(st.st_uid);
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?",
tor-commits@lists.torproject.org