git: de924aa90ca0 - stable/12 - MFC: Fix calendar -a processing of files included in the user's home directory
Stefan EÃer
se at FreeBSD.org
Thu Dec 31 17:05:35 UTC 2020
The branch stable/12 has been updated by se:
URL: https://cgit.FreeBSD.org/src/commit/?id=de924aa90ca0d5bd7bbb31125864f0ffca021495
commit de924aa90ca0d5bd7bbb31125864f0ffca021495
Author: Stefan Eßer <se at FreeBSD.org>
AuthorDate: 2020-10-29 08:26:38 +0000
Commit: Stefan Eßer <se at FreeBSD.org>
CommitDate: 2020-12-31 17:04:47 +0000
MFC: Fix calendar -a processing of files included in the user's home directory
The existing code performed a chdir() into the home directory, but the
parser fell back to using the invoking user's home directory as the base
directory for the search for an include file.
Since use of the -a option is limited to UID==0, the directory searched
was typically ~root/.calendar, not the .calendar directory of the user
whose file is being processed.
PR: 205580
Reported by: greg.bal4 at gmail.com (Greg Balfour)
MFC after: 3 days
(cherry picked from commit 3fa2a149d68d22fa32ba7b6c09773388ac490fd1)
The code in -CURRENT is quite different (forks sub-processes tp
process the files for each user) but this change should provide the
same functionality as the referenced commit to -CURRENT.
---
usr.bin/calendar/calendar.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/usr.bin/calendar/calendar.c b/usr.bin/calendar/calendar.c
index a9e6c19e9a0d..6293d15a4e10 100644
--- a/usr.bin/calendar/calendar.c
+++ b/usr.bin/calendar/calendar.c
@@ -221,8 +221,10 @@ main(int argc, char *argv[])
(void)setegid(pw->pw_gid);
(void)initgroups(pw->pw_name, pw->pw_gid);
(void)seteuid(pw->pw_uid);
- if (!chdir(pw->pw_dir))
+ if (!chdir(pw->pw_dir)) {
+ setenv("HOME", pw->pw_dir, 1);
cal();
+ }
(void)seteuid(0);
}
else
More information about the dev-commits-src-all
mailing list