Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0:Staging:A
man
man-db-2.7.1-security4.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File man-db-2.7.1-security4.dif of Package man
--- src/mandb.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) --- src/mandb.c +++ src/mandb.c 2016-12-16 07:14:50.995017235 +0000 @@ -439,17 +439,26 @@ static int mandb (struct dbpaths *dbpath int ret, amount; char *dbname; int should_create; + int fd; dbname = mkdbname (catpath); database = xasprintf ("%s/%d", catpath, getpid ()); + /* Just for the case that catpath isn't a system catpath */ + drop_effective_privs (); + fd = open (database, O_WRONLY | O_CREAT | O_EXCL, 0644); + regain_effective_privs (); + if (fd < 0) + error (FATAL, errno, _("can't create a temporary filename")); + close(fd); + if (!quiet) printf (_("Processing manual pages under %s...\n"), manpath); if (!STREQ (catpath, manpath)) { char *cachedir_tag; - int fd; + drop_effective_privs (); cachedir_tag = xasprintf ("%s/CACHEDIR.TAG", catpath); fd = open (cachedir_tag, O_RDONLY); if (fd < 0) { @@ -467,6 +476,7 @@ static int mandb (struct dbpaths *dbpath if (global_manpath) chown_if_possible (cachedir_tag); check_chmod (cachedir_tag, DBMODE); + regain_effective_privs (); free (cachedir_tag); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor