Allow symlinks to be followed in cron.d directories and fix detection of

regular files on NFS

Reported by:	jilles
This commit is contained in:
Baptiste Daroussin 2016-10-31 23:40:04 +00:00
parent 4eaecda2fa
commit 569b917590
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=308158

View file

@ -44,7 +44,7 @@ load_database(old_db)
{
DIR *dir;
struct stat statbuf;
struct stat syscron_stat;
struct stat syscron_stat, st;
time_t maxmtime;
DIR_T *dp;
cron_db new_db;
@ -124,7 +124,8 @@ load_database(old_db)
while (NULL != (dp = readdir(dir))) {
if (dp->d_name[0] == '.')
continue;
if (dp->d_type != DT_REG)
if (fstatat(dirfd(dir), dp->d_name, &st, 0) == 0 &&
!S_ISREG(st.st_mode))
continue;
snprintf(tabname, sizeof(tabname), "%s/%s",
syscrontabs[i].name, dp->d_name);